怎么重启php-,phpstudy闪退怎么办?
phpstudy闪退是由于;
1.是在控制台输入php会报错
于是我在自己的phpStudy安装目录D:\php\PHPTutorial\php\php-7.2.1-nts下找到了php.ini这个文件,
发现extension_dir的路径是D:\php\PHPTutorial\php\php\ext出现错误,
然后我修改了里面的配置信息php的路径为
extension_dir="D:\php\PHPTutorial\php\php-7.2.1-nts\ext"
这时候再在控制台输入php命令就没有报错了。
2.但是当我运行phpStudy的时候还是会闪退,我发现自己少了Microsoft visual C++环境运行库,很多常用软件都是
用 Microsoft Visual Studio 编写的,这类软件的运行就需要依赖 Visual C++ 运行库,比如 QQ、迅雷、Adobe 软件等,如果没有安装 VC++ 运行库或者安装的版本不完整,就可能会导致这些软件启动时报错,闪退,或者提示缺少库文件。
PHP 与 VC运行库的关系是怎么样的呢?php5.3、5.4和apache都是用vc9编译,电脑必须安装vc9运行库(Microsoft Visual
C++ 2008 SP1 Redistributable Package)才能运行;php5.5、5.6是vc11编译,如用php5.5、5.6必须安装vc11运行库;php7.0、7.1是vc14编译,如用php7.0、7.1及以上版本必须安装vc14运行库。
所以可以根据自己的需要下载安装再重试就不会闪退了。
php53怎么使用postfix?
1、ubuntu 下安装postfix,执行命令: # apt-get install postfix popa3d 如果不需要pop3服务,把popa3d去掉
2、在php.ini配置文件上,设置mail函数: 1)打开php.ini配置,下面是我的php.ini路径: # vi /home/service/web/config/php/lib/php.ini 2)找到:sendmail_path ,将其设置为: sendmail_path = /usr/sbin/sendmail -t 注意:这里需要先到/usr/sbin/ 目录中,确认是否存在sendmail文件。
3、启动postfix: # /etc/init.d/postfix start
4、重启apache: # /etc/init.d/apache2 restart
5、以上完成。你可以写一个发送email的php文件做测试
PHP还有希望吗?
我也是看到很多文章在看衰php,于是花了两个星学了java,发现编译语言开发效率低,php保存文件就能看到效果,java更改代码语言编译,然后发布到服务器,然后重启tomcat才能看到效果,例如开发微信支付,必须跑服务器,跑电脑上测试不了。以上种种麻烦php就没有。但是java作为编译语言,确实运行效率更高。所以个人觉得,访问频繁的api,例如商品列表,就用java,访问低频的,例如用户注册,就用php或者python等脚本语言。必须服务器运行才能测出效果的,例如微信登录,微信支付,那还是脚本语言调试方便。后来又接触了webpack的vue,发现也是各种打包再发布服务器,好麻烦,所以vue我也直接用cdn引入
php安全模式影响哪些函数?
开启safe_mode之后对php系统函数的影响:
safe_mode即为PHP的安全模式,在php.ini中设置safe_mode = On重启PHP便可开启安全模式。
当安全模式开启后,PHP相应的一些系统函数,文件操作函数等将会受限。例如:
ckdir,
move_uploaded_file,
chgrp,
parse_ini_file,
chown,rmdir,
copy,
rename,
fopen,
require,
highlight_file,
show_source,
include,
symlink,
link,
touch,
mkdir,
unlink,
exec,
shell_exec,
pasathru,
system,
popen
除此之外,一些php扩展的函数也会受到限制,不能在程序里面直接加载扩展,只能到php.ini里加载,而且php如果需要执行操作系统的程序时,必须在safe_mode_exec_dir中指定程序的路径,否则执行将失败。
reporting错误报告级别?
错误报告级别:指定了在什么情况下,脚本代码中的错误(这里的错误是广义的错误,包括E_NOTICE注意、E_WARNING警告、E_ERROR致命错误等)会以错误报告的形式输出。
设置错误报告级别的方法:
1. 修改PHP的配置文件php.ini
这种方式设置error_reporting后,重启web服务器,就会永久生效。
这里以xampp集成软件包为例,打开配置文件php.ini,查看错误报告级别error_reporting的默认值,如下:
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT
意思是报告所有的错误,但除了E_DEPRECATED和E_STRICT这两种。
将其修改为:
error_reporting=E_ALL & ~E_NOTICE
意思是报告所有的错误,但除了E_NOTICE这一种。这也是最常用的错误报告级别,它不会报告注意类(如:使用了未定义的变量)的错误。
保存,重启web服务器后生效。
2. 使用error_reporting()函数
这种方式设置后,可以立即生效。但仅限于在当前脚本中的error_reporting()函数调用的后面区域。
int error_reporting ([ int $level ] )
参数可以是整型或对应的常量标识符,推荐使用常量的形式。返回值为当前位置处起作用的错误报告级别的值(整型值)。
下面列举一些错误报告级别:
值 常量 说明
1 E_ERROR 报告导致脚本终止运行的致命错误
2 E_WARNING 报告运行时的警告类错误(脚本不会终止运行)
4 E_PARSE 报告编译时的语法解析错误
8 E_NOTICE 报告通知类错误,脚本可能会产生错误
32767 E_ALL 报告所有的可能出现的错误(不同的PHP版本,常量E_ALL的值也可能不同)
error_reporting(E_ALL ^ E_NOTICE); // 除了E_NOTICE之外,报告所有的错误
error_reporting(E_ERROR); // 只报告致命错误
echo error_reporting(E_ERROR | E_WARNING | E_NOTICE); // 只报告E_ERROR、E_WARNING 和 E_NOTICE三种错误
注意:配置文件php.ini中display_errors的默认值为On,代表显示错误提示,如果设置为Off,就会关闭所有的错误提示。
分类: PHP基础
标签: 错误报告级别, error_reporting, E_ERROR, E_NOTICE