使用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,所以不可以平滑重启(重启过程中,业务不中断),于是乎,我将电脑重启了,
使用PHP + Apache访问有错误的php脚本时不报错的更多相关文章
- 【转载】访问IIS中网站出现 403.14 - Forbidden报错信息
将网站发布后部署到IIS后,配置完应用程序池以及相关设置项后,在浏览器中访问设置好的网站,出现403.14 - Forbidden的错误信息,从错误信息的提示来看,应该是IIS服务器此网站目录的内容被 ...
- hibernate有关联关系删除子表时可能会报错,可以用个clear避免错误
//清除子表数据 public SalesSet removeSalesSetDistributor(SalesSet salesSet ){ List<SalesSetDistributor& ...
- react-native学习(RN)--之Window环境下搭建环境配置,以及初始化建立react-native项目,(真机和模拟器运行的相关错误解决办法,android打包报错)
react-native以后会更火的 一.安装java 二.安装Android Studio 三.安装react-native需要的Android studio额外部分 四.安装nodeJS 五.安 ...
- php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
在php5.3环境下运行,常常会出现 Deprecated: Function ereg() is deprecated in...和Deprecated: Function ereg_replace ...
- Java-Web中访问某个指定工程中的文件,报错后发现访问的文件是另一个工程里面的文件
问题: 浏览器向我的bingou项目中的UserDaoImpl.java发送请求, myeclipse报错:空指针异常 点击报错行之后,错误给定位到了另一个项目中的的一个文件 解决: 原因是文件名错误 ...
- 【踩坑】遇到 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 报错
今天在重做 iblog 客户端时,测试接口情况,发现了 org.apache.ibatis.binding.BindingException: Invalid bound statement (not ...
- 关于idea跳过错误编译的理解, 跳过报错的代码启动项目去debug测试其他正常的代码
关于idea跳过错误编译的理解 2018年07月13日 19:06:32 weixin_39669410 阅读数 1296 其实idea使用eclipse编译器可以实现跳过报错的代码启动项目去de ...
- apache访问403错误
1.排查selinux 2.目录权限 3.WEB主目录是否正确
- Eclipse启动tomcat时出现报错-拒绝访问
今天新建项目,当选择项目的发布路径为tomcat的路径时 启动tomcat出现如下错误: Publishing the configuration... Error copying file to D ...
随机推荐
- C#中删除集合中符合条件的元素以及需注意属相
如果用foreach,会造成被遍历的集合更改后带来异常问题. 此时,用for循环可有效的解决这个问题. for(int i=0;i<List.Count;i++) { if(条件是真) { Li ...
- Unity手游之路手游代码更新策略探讨
版权声明: https://blog.csdn.net/janeky/article/details/25923151 这几个月公司项目非常忙.加上家里事情也多,所以blog更新一直搁置了. 近期在项 ...
- 《OKR工作法》读书笔记(转)
文章转自https://www.jianshu.com/p/c694363d5213
- Linux安装consul
1.下载并解压consul # cd /opt/ # mkdir consul # chmod 777 consul #cd consul #wget https://releases.hashico ...
- C++ new/malloc、delete/free
1.new和delete是运算符,可以被重载:malloc和free是库函数,不能被重载. 2.new会调用对象的构造函数,delete会调用对象的析构函数:malloc和free不会.
- mysql 数据表 增删改查
用户操作: mysql -u root -p 登录root用户: SHOW DATABASES; 显示所有的数据库名称: USE linuxcast; 切入linuxcast数据库: CREATE T ...
- 【Codeforces 1105E】Helping Hiasat
Codeforces 1105 E 题意:给你m个事件,每个事件可能是以下两种之一: \(1\),代表此时可以更改用户名 \(2\) \(s\),代表\(s\)来查看是否用户名与其名字相符 一共有\( ...
- 利用git向github上远程提交一个自己的开源项目
1.在电脑的系统变量中的path路径中配置git的环境变量: 找到git安装路径中bin的位置,如:X:\Git\bin 找到git安装路径中git-core的位置,如:X:\Git\libexec\ ...
- CF487E Tourists 圆方树、树链剖分
传送门 注意到我们需要求的是两点之间所有简单路径中最小值的最小值,那么对于一个点双联通分量来说,如果要经过它,则一定会经过这个点双联通分量里权值最小的点 注意:这里不能缩边双联通分量,样例\(2\)就 ...
- HTML5-应用程序缓存(Application Cache)
一.什么是应用程序缓存? HTML5 引入了应用程序缓存(Application Cache),这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. 二.优势 离线浏览 - 用户可在应用 ...