设置密码

验证码错误,请重新填写

免费建站旅程马上开始

开始建站
建站中

已有帐号?直接登录

首页>森动学院>网站建设教程 > PHP教程实例:PHP脚本不报错的原因及解决办法
PHP教程实例:PHP脚本不报错的原因及解决办法
发布时间: 2014-06-23
 PHP程序错误一般有三种:语法错误,运行时错误,逻辑错误。

那么如果PHP脚本不报语法错,会是什么原因呢:

------------------------@author chenwei <www.chenwei.ws>---------------------------

1. 一般的集成环境,默认会开启错误报告; 但在linux系统中,使用软件包安装的就不一定了,此时可以查看PHP配置文件,打开错误报告 =>

  display_errors = On      /* PHP配置文件路径:/uer/local/php/etc/php.ini  */

 

  注:PHP脚本中动态设置php.ini配置文件的方法 =>

  ini_set('display_errors', 'On'); /* 显示所有错误 */


2. 设置错误报告级别 =>

  error_reporting = E_ALL;   /* 最严格的错误报告级别, 开发阶段可开启 */

  error_reporting = E_ALL &~ E_NOTICE /* 除了notice以外的错误 */

  error_reporting = E_ERROR | E_PARSE | e_CORE_ERROR /* 只考虑致命的运行时错误,新解析错误 和 核心错误 */

  以上三种,推荐中间的。

  注:PHP脚本中动态设置error_reporting错误报告级别的方法 =>

  error_reporting(E_ALL &~ E_NOTICE);

 

3. 更改配置文件以后,需要重启服务才能生效 =>

  Apache的启动:/usr/local/apache2/bin/apachectl start  /* 推荐 */

     另, 红帽linux专有启动命令:service httpd start

  Apache的重启:/usr/local/apache2/bin/apachectl restart

     另,红帽专有启动命令:service httpd restart

  Apache的停止:/usr/local/apache2/bin/apachectl stop

     另,红帽专有启动命令:service httpd stop

  Nginx的重启:/usr/localinx/sbininx -s reload   /* 平滑重启 */ 


PHP脚本不报错的解决办法:


经常当php页面中利用include, require, require_once包含了一些其他位置的页面时,会出现错误,比如没有发现次页面,或者权限不允许等,可以根据以下方法来排除

1. 出现“未找到文件“类似的错误时候,检查include文件的位置是否正确,下面引用php手册页面的原话:

Files for including are first looked in include_path relative to the current working directory and then in the directory of the current script. E.g. if your include_path is libraries, current working directory is /www/, you included include/a.php and there is include "b.php" in that file, b.php is first looked in /wwwbraries/ and then in /www/include/. If filename begins with ./ or ../, it is looked only in include_path relative to the current working directory.

2. 当出现permission deny 类似错误的时候,按以下方法排除

a) 检测被包含的文件读权限是否打开

b) 检测被包含的文件路径上的每个目录的x权限是否打开,该权限决定了目录能否被浏览。 


文章来源:森动网小鱼儿,转载请注明出处!