使用PHP + Apache访问有错误的php脚本时不报错

  遇到一个问题:

  在命令行编辑php脚本后,直接使用php命令行执行该php脚本,如果脚本出现错误,在命令行的情况下会报错,显示错误信息,比如下面的情况。

[root@localhost wwwroot]# cat index.php
<?php
    show;
[root@localhost wwwroot]# php index.php
PHP Notice:  Use of undefined constant show - assumed 'show' in /home/wwwroot/index.php on line 2

  

  在浏览器中访问该php脚本,浏览器并不会显示任何信息,只是一片空白

  后来才发现是因为php配置文件(usr/local/php/etc/php.ini)中display_errors的值为Off,只要将这一项改为On即可

;display_errors = Off
display_errors = On 

  修改配置文件之后,记得重启apache,

service httpd restart

  

有点疑惑:

  1、为什么在没有开启显示错误(display_errors 为Off)的时候,在浏览器中访问该php脚本时不报错,而使用php命令来运行php脚本会报错???

  2、为什么修改PHP的配置文件php.ini之后,重启的是apache,而不是重启php呢???

  3、apache在运行时,会载入php的配置文件php.ini吗?是,会的。

  4、难道是因为我没有启动php吗?我电脑只装了php和apache这几个软件,没有安装php-fpm,修改配置文件后重启电脑?

    于是我将php.ini中的display_error设为Off,重启了电脑,再次在命令行中运行错误的php脚本,然后发现仍旧报错。

  5、有人说php的cli和通过浏览器运行php脚本,载入的php.ini可能不是同一个!!!这就奇怪了

  6、修改php配置文件之后,需要重启php-cgi,所以不可以平滑重启(重启过程中,业务不中断),于是乎,我将电脑重启了,

转载于:https://www.cnblogs.com/-beyond/p/8459014.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值