首页 开发编程 正文

php怎么去掉警告

如果打开的网站内容完全不是自己的请先检查域名解析和域名DNS服务器是否被篡改,第二步、确认网站是否被黑客上传了文件并处理:建议将网站原始文件(上传文件夹和配置文件除外)备份,使用对应版本的建站系统初始文件重新上传,譬如米拓企业建站系统只需要保留upload文件夹夹和config/config_db.php文件即可,第三步、确认黑客是否...

php怎么去掉警告,有什么冷门但好用的软件呢?

Essentialpim PRO:日程管理和知识管理的大神级软件,惠普、三星、佳能等知名公司的选择。

不但可以当做日程管理软件,还可以作为知识管理软件:

独立数据库,确保安全。多端通过wifi同步:

该软件得到国际大牌公司认可:

这样一款软件,价格并不高。

当然,如果你愿意,可以选择河蟹版。

说完了传统知识管理软件,还有时下比较热门的双链笔记软件:

简单了解一下什么是双链笔记,不需要搞懂复杂概念,和热门的知识管理软件NOTION做一个比较:

据说,roam edit未来的发展空间和底层架构都比NOTION大整整一圈。

Roam到底能做什么,能解决什么问题?

简单来说,就是:让知识能用

类似下面的图:

为什么这样的图能让知识更有效呢?

看下图案例(软件-全世界的界面):

知识之间、信息之间建立关联,只要知道任何一个关键点,就能顺藤摸瓜的构建整个知识大厦。

这才是真正的有用、能用的知识。

软件界面(太复杂,拉轰仅仅在初步摸索阶段):

XYplorer:文件管理的超冷门超强大软件

一位大V这样评价它:

看看它酷炫又实用的界面:

当然还可以选择以下软件:

qdir

qttabbar+clover

one commander

tc

讯读PDF:拉轰目前认为最好的PDF软件,没有之一

下面的思维导图是目前的推荐软件:

拉轰出品,必属精品

我网站域名被劫持了应该怎么办?

建议你新建一个index.html文件,文件中只写几个数字,上传到网站根目录,然后访问网站域名,看看是不是正常,从而可以确定是程序问题还是域名被劫持的问题。

如果是域名被劫持,你可以登录你的域名管理控制面板,检查一下解析记录是否正常,如果正常,建议更换dns服务商。

如果是网站程序问题,因为不知道你的网站程序是用什么,你可以参考一下方法解决:

第一步、确认域名解析并处理:如果打开的网站内容完全不是自己的请先检查域名解析和域名DNS服务器是否被篡改,如果域名没有解析到自己的服务器或增加了可疑解析记录,请及时处理并修改域名的管理密码。

第二步、确认网站是否被黑客上传了文件并处理:打开网站服务器的FTP,查看是否存在异常文件并删除,可以通过文件修改时间来简单判定。建议将网站原始文件(上传文件夹和配置文件除外)备份,使用对应版本的建站系统初始文件重新上传,譬如米拓企业建站系统只需要保留upload文件夹夹和config/config_db.php文件即可,其他文件全部可以使用官方对应版本文件替换。

第三步、确认黑客是否修改了数据库并处理:使用谷歌或360浏览器打开网站首页,右键查看网页源代码,确认网页中是否还包含了可疑文字或链接,并在数据库或后台中找到对应的地方修改。

以上三步比较专业,建议大家选择专业的服务商或建站系统厂商处理,如米拓企业建站系统官方就提供网站安全维护服务,每年只需要支付几百块的技术支持服务费用即可。当然更为重要的是建议大家更换安全稳定的专业建站系统并及时升级到最新版本从源头上防范黑客入侵。

第四步、安全设置:将网站后台地址、管理员密码、FTP密码修改为更复杂的字符串,并务必将网站管理系统升级到厂商最新版本。不建议大家使用来源不明或厂商停止更新的建站系统。

第五步、搜索引擎和浏览器申诉:如搜索引擎结果错误或浏览器警告提示,请按照相应提示在对应平台提交申诉,一般7个工作日左右就会帮你恢复正常。

网站本质上一款软件,是软件都会不可避免的的存在安全漏洞,从而给黑客有机可乘。我们需要做的事尽量选择一款安全稳定的知名建站系统搭建网站,并按照厂商建议做好安全防范工作。当然选择一个有售后运维服务的建站厂商也是非常重要的,毕竟黑客是专业的,专业的黑客应该交由专业的建站公司来处理。

PMP的学习方法有哪些?

PMP备考的一点建议,学霸们请无视,哈哈哈:

我觉得参加PMP的学习和考试有两点需要把握住,一是心态,二是学习方法;

谈心态的话虽然比较虚,因为这个还是要看个人在生活中对事物发展的应对能力与应对突发情况的处理能力,但是简单的谈谈在备考过程中心态的处理还是很有必要的。所谓对心态的把握不仅仅限于考试时的心态,也包括在学习过程中的心态与你能调整出的学习状态。现在大部分学员在学习中都是处于在职状态,平时工作压力会很大,家里生活压力大,难免有时会错过课程和必要的QQ微信群讲解,当你在学习途中看到其他学员似乎了解的知识比你多时不必过度紧张,先分析出到底是时间没投入够还是知识没学习扎实。如果是前者就比较简单,可以多花时间补补,毕竟不花时间准备的证也是没价值的证;若是后者就要好好反思下,如果是老师讲过的知识点没有记住则反思下是不是听讲时不够认真,如果是老师没讲但是高校和pmbok上有的内容则反思下是不是没有花时间去深入了解细节。

最后你会发现绊脚的并不是你的才智,而是在不稳定状态下催生的消极心态。

聊完心态,在来聊一些方法上的干货。对于没有题库,范围大的考试,最主要的是建立知识框架,能联想记忆,同时在理解的基础上举一反三,有限的时间内掌握更加全面的知识。

先来点学习前的准备:

1)学习小组

学习小组大家一定要组织起来,要有一个愿意组织的组长,目的不一定是每天粘在一起学习,而是相互之间催生动力以及对一些课堂上的知识点进行相互补充。

(最重要的我觉得还是在学习的这段时间内大家相互了解成为了朋友,像我们小组在考试后一直都很活跃)

2)制定明确的备考目标

对于PMP考试,因为周期比较短,知识量比较大,所以大家总会有一些类似念头:“我可以缓考”,“不急,时间多”,“这次没准备充分下次考算了”,巴拉巴拉巴拉。。。。。

之所以有这个念头是因为完全没有明确的目标支持你什么时候考这场考试,仅仅抱着碰运气去试试的态度去准备考试,造成心里没底。所以制定一个明确目标,让生活&工作中的一些可以协调的事情就要为你的目标让道(当然这个也是视情况而定,毕竟都是成年人的作息时间,在工作生活中有些事确实完全没法避开,无非是确认孰轻孰重之后的一个抉择)。

说完前提条件,接下来直接上我的备考计划吧:

1)讲义+高效+PMBOK刷一遍,整理出知识体系思维导图(泛读,半个月):

这个是基于成年人会掉课的情况做出的计划(我就掉过。。。),我的理解是先看讲义后,按照讲义的脉络来看高效,因为高效写的比较简单只强调了重点,所以最后再补一遍pmbok(不要想着反复看,一遍到位),在这个过程中可以根据自己的理解画出思维导图(在后面的学习过程中可以根据新的理解慢慢补充和修改思维导图);

2)做高效题,根据高效上的错题找到对应PMBOK上的知识点(一个月,这个就不详细介绍了,顺着看书做题大家都会。因为这个月工作上有些其他事情冲突了所以这里的计划时间比较长,大家可以根据自身情况适当调整缩短下时间):

3)精读一遍PMBOK找到那些做过的题目中没有的涉及点记录下来,结合ITTO:(三周)

这里强调下我的一个观点ITTO,个人感觉在时间不充裕的情况下不要全部背下来(把6脉和一些关键点背下来理解记忆),并不是全部背下来了就代表你掌握的有多深,那只能代表你花的时间比较长。我觉得你能在背诵的时候找到各个过程之间的关系,在脑海中形成一套体系是最棒的。

4)做模拟题,错题找到原因,找到薄弱的知识点(三周)

做模拟题比较重要,是检验出到时候考试稳不稳的标准,如果分数太低,或在一些大部分人都可以做对而你却摸不着头脑的题丢分时,你就要开始想办法怎么去恶补下了。

整个周期大概有4次模拟题。第一次模拟(大家可以攒着当做练习题来做),熟悉下考试题型分布(我当时错了60多题,感觉爆炸,哈哈、、、、),之后分析错题原因,发现很多分都是都送分题因为没看清楚题意或书上的知识点理解的有歧义造成的,在对每道错题进行分析讨论同时找到书上对应的知识点后,做了模拟二和模拟三(好像我们先发的冲刺,具体哪套卷子记得不清楚了反正攒着到你计划的时间节点开始模拟)。这两份试卷最好一口气坐下来,熟悉下考试时间(我每次做模拟都会保持在2到两个半小时的时间,这样考出来的结果会比较准确,避免了实际考试中的紧张造成的答题过慢的情况)。在考完第二、三套试卷的时候,我基本上可以把错误率控制在30-40之间(这就很稳),但是我发现每套试卷我都有猜出来的答案(比如说用排除法做出来的题)大概占15-25题左右,对于这些题我会把他们当做错误的题目来对待,进行详细的分析。最后一套试卷留在最后一周做(大家也可以看情况,如果老师讲解可以提前做),用来熟悉一波答题的手感,也是考前找信心的一套卷子,做完当时基本上30题左右错、10题左右猜,这时候就别纠结偏题怪题或最终得分了,只要每次都有进步,在及格线上就找好状态开始准备考试的一搏吧。考前也不要放松,可以再巩固一遍基础,看看之前的思维导图,背背ITTO什么的就可以进入考场厮杀了。

在备考的过程中有两点需要注意的,也是我一直以来的一些心得:

a)猜的题不要当做你会的题;

b)不要仅限于会接老师的话、会复述老师的话就满足了,转化为自己的知识才是考试之后你能消化理解同时将这个知识运用到实处的前提;

最后希望大家都能顺利通过PMP考试!~~

4岁小孩商场撒泼打滚威胁不买就不起作为家长如何处理呢?

作为家长的我,是不会惯着我们的孩子,不搭理他,走到远处,暗中观察。

4岁的孩子已经能察言观色了,如果这次的哭闹可以得逞,下次如果不能得到满意的答复,他还会这样做的。所以,我们要从一开始就要抑制孩子的这种哭闹行为。

不过当这件事情发生事,我们最好的处理方法就是置之不理,你要横下心来,对他的无理要求坚决否定。孩子哭闹一会,看到没有效果就会安静下来。如果周围人很多,你怕影响不好,可以用转移注意力的方法,先把孩子稳下来,到安静的地方在进行教导。

等孩子安静了,我们要及时给与教育,让他明白刚才的做法是不对的,是没有作用的。

同时也要告诉他,什么事情是合理的要求,什么是不合理的。合理的要求我们会同意,不合理的要求我们就会拒绝,不管你用什么方式都是不行的。我们要让孩子知道,对于不合理的要求我们是不会妥协的。

不过这些都是解决的方法,我们家的教育方式是,提前预防。在去商场和超市的时候,会提前和孩子说好,今天你只能买一件东西,不能多买。所以我们家孩子一般都会为了这一件东西,很费心思的在挑选,选好了也不会多要。所以,孩子会为了一件东西在商场撒泼打滚,还是和家长的教育有关。

教育孩子是个长期的、细致的任务,有时候我们不能感情用事,一时的心软就有可能导致孩子养成不好的习惯。同时我们也是孩子,上面还有父母,有些时候可以参考下他们的建议。或者找周围的朋友、邻家探讨下,争取都能搞定家里的熊孩子。

Linux下PHP程序使用多线程?

引言

别的语言都在一窝蜂地搞编译,搞虚拟机,搞多线程,提高效率。我们整天敲 PHP 代码,除了 Nginx 调用 php-fpm 拉取 PHP 文件的解析外,对于多线程有多少了解?

请问,PHP 能不能使用多线程?如果能,怎么实现的?

本文就带你打开这个疑问。

学习时间

这个问题的答案是肯定的,PHP 可以使用多线程。我们借助于 pthreads 实现:

该项目提供了与基于Posix Threads的PHP兼容的多线程。

有啥亮点没?下面这些全是:

一个易于使用,快速学习的面向对象的PHP 7.2线程API执行所有预定义和用户声明的方法和函数,包括闭包。包括现成的同步无限的可能性...

需要一些扩展的基础的支持,PHP 7.2 及以上版本,ZTS Enabled ( Thread Safety ),Posix Threads Implementation。

还有一些注意事项:

pthreads是一个面向对象的API,它提供了PHP中多线程所需的所有工具。 PHP应用程序可以创建,读取,写入,执行并与线程,辅助对象和线程对象同步。 警告:pthreads扩展名不能在Web服务器环境中使用。 因此,PHP中的线程应仅保留给基于CLI的应用程序使用。

命令行应用脚本完全适用,这也与我们编写 Bash,Python等等类似。下面举一个例子:

然后执行一次:

再执行一次:

实际运用

上面的代码是个示例性质的应用,仅仅是为了展示多线程运行。下面来一段业务代码。

该类模拟一个url请求。因为网络问题,有可能失败,或者不确定返回时间,所以适合并行。接着我们使用该类进行多网络请求并发。为了减轻系统负荷,使用微秒延时。

$t = microtime(true);

$g = new AsyncWebRequest(sprintf("http://www.google.com/?q=%s", rand() * 10));

实例化之后,我们发起请求:

if ($g->start()) {

printf("Request took %f seconds to start ", microtime(true) $t);

while ( $g->isRunning() ) {

echo "."; usleep(100);

}

if ($g->join()) {

printf(" and %f seconds to finish receiving %d bytes\n", microtime(true) $t, strlen($g->data));

} else

printf(" and %f seconds to finish, request failed\n", microtime(true) $t);

}

其他方案

如果不用 pthreads 库提供的能力,该怎么写并行的多任务呢?其实 PHP 提供了一个 popen 函数,用于打开进程文件指针。

popen 返回一个和 fopen 所返回的相同的文件指针,只不过它是单向的(只能用于读或写)并且必须用 pclose 来关闭。此指针可以用于 fgets,fgetss 和 fwrite。 当模式为 'r',返回的文件指针等于命令的 STDOUT,当模式为 'w',返回的文件指针等于命令的 STDIN。

直接上代码:

for ($i=0; $i<10; $i++) { // 打开10个进程 for ($j=0; $j<10; $j++) { $pipe[$j] = popen('script2.php', 'w'); } // 等待完成 for ($j=0; $j<10; ++$j) { pclose($pipe[$j]); } }

大家看到了实现的方法与 pthreads 完全不同,这段代码仍然是阻塞运行,只不过同时打开10个进程,并行运行。

并行与多线程完全不同。不过,可视作一个简单的解决方案吧。

写在最后

经过上述两种实现方法,大家应该对于多线程,多进程,并行这些概念有一些认识了。

Happy coding :_)

我是 @程序员小助手 ,持续分享编程知识,欢迎关注。

本文转载自互联网,如有侵权,联系删除