`

php报错启动配置

    博客分类:
  • php
阅读更多
PHP 报错信息
2008年11月22日 星期六 03:16 P.M.
设定错误讯息回报的等级。

语法: int error_reporting(int [level]);

传回值: 整数

函式种类: PHP 系统功能


E_NOTICE 表示一般情形不记录,只有程式有错误情形时才用到,例如企图存取一个不存在的变数,或是呼叫 stat() 函式检视不存在的档案。
E_WARNING 通常都会显示出来,但不会中断程式的执行。这对除错很有效。例如:用有问题的常规表示法呼叫 ereg()。
E_ERROR 通常会显示出来,亦会中断程式执行。意即用这个遮罩无法追查到记忆体配置或其它的错误。
E_PARSE 从语法中剖析错误。
E_CORE_ERROR 类似 E_ERROR,但不包括 PHP 核心造成的错误。
E_CORE_WARNING 类似 E_WARNING,但不包括 PHP 核心错误警告。
PHP 的错误报告

  php.ini 文件中有许多配置设置。您应当已经设置好自己的 php.ini 文件并把它放在合适的目录中,就像在 Linux 上安装 PHP 和 Apache 2 的文档说明中所示的那样(请参阅 参考资料)。在调试 PHP 应用程序时,应当知道两个配置变量。下面是这两个变量及其默认值:

ps:上面的一些值可能有误,

display_errors = Off
error_reporting = E_ALL



  通过在 php.ini 文件中搜索它们,可以发现这两个变量当前的默认值。display_errors 变量的目的很明显 —— 它告诉 PHP 是否显示错误。默认值是 Off。但是,要让开发过程更加轻松,请把这个值设为 On:



display_errors = On



  error_reporting 变量的默认值是 E_ALL。这个设置会显示从不良编码实践到无害提示到出错的所有信息。E_ALL 对于开发过程来说有点太细,因为它在屏幕上为一些小事(例如变量未初始化)也显示提示,会搞糟浏览器的输出。我只想看到错误和不良编码实践,但是不想看到无害的提示。所以,请用以下值代替 error_reporting 的默认值:



error_reporting = E_ALL & ~E_NOTICE



  重新启动 Apache,就全部设置好了。接下来,将学习如何在 Apache 上做同样的事。

  服务器上的错误报告

  依赖于 Apache 正在做的工作,在 PHP 中打开错误报告可能没法工作,因为在计算机上可能有多个 PHP 版本。有时很难区分 Apache 正在使用哪个 PHP 版本,因为 Apache 只能查看一个 php.ini 文件。不知道 Apache 正在使用哪个 php.ini 文件配置自己是一个安全问题。但是,有一种方法可以在 Apache 中配置 PHP 变量,从而保证设置了正确的出错级别。

  而且,最好知道如何在服务器端设置这些配置变量,以否决或抢占 php.ini 文件,从而提供更高级别的安全性。
在配置 Apache 时,应该已经接触过 <apache2-install-dir>/conf/httpd.conf 中 http.conf 文件中的基本配置。

  要做在 php.ini 文件中已经做过的事,请把下列各行添加到 httpd.conf,覆盖任何 php.ini 文件:


php_flag display_errors on
php_value error_reporting 2039



  这会覆盖在 php.ini 文件中为 display_errors 已经设置的标志,以及 error_reporting 的值。值 2039 代表 E_ALL & ~E_NOTICE。如果愿意采用 E_ALL,请把值设为 2047。同样,还是要重启 Apache。

  接下来,要在服务器上测试错误报告。


出处:http://hi.baidu.com/chinamartin/blog/item/cb138c1a2aa1cefdae5133d8.html
分享到:
评论

相关推荐

    php 启动时报错的简单解决方法

    在本篇文章中,我们将探讨PHP启动时出现报错的几种常见原因以及对应的解决方法。当PHP无法启动时,通常会伴随错误提示,这些提示信息是定位问题的关键。通过详细的分析和调整系统设置,可以解决启动失败的问题。 ...

    phpstudy环境,运行项目报错 SWOOLEC loader ext not installed

    在PHP开发环境中,有时我们可能会遇到“phpstudy环境,运行项目报错 SWOOLEC loader ext not installed”的问题。这通常意味着你的PHP环境缺少Swoole扩展,而这个扩展是运行依赖Swoole的PHP项目所必需的。Swoole是一...

    php 启动报错如何解决

    总结而言,php启动报错的解决方法需要从多个方面入手,包括对系统内核参数的调整,PHP-FPM配置的审查,以及可能的服务如memcached的检查。务必确保各项配置之间相互兼容,且不违反系统资源的限制。在实际操作过程中...

    wampserver2.5加安装报错解决包

    WampServer 2.5是该软件的一个较旧版本,但仍然被许多用户使用,尤其是那些需要兼容旧版PHP或特定服务器配置的开发者。 安装WampServer 2.5时可能会遇到一些问题,如安装失败或运行后图标不转绿。这些问题通常与...

    wamp+phpmyadmin5.1.1 for php8+php8-32bit-X86+php8-64bit-X64.rar

    10. **测试与验证**:安装完成后,创建一个简单的PHP测试页面以验证PHP8是否正常工作,同时确保所有必要的服务(如MySQL)都能正常启动和运行。 以上就是关于使用WAMP服务器环境安装与扩展PHP8的知识点,希望对你...

    ThinkPHP 怎样才能URL地址不写index.php.ThinkPHP 怎样才能省略掉URL地址中的index.php字样

    在ThinkPHP框架中,URL地址通常会包含`index.php`,这是框架的入口文件,用于启动应用程序。然而,为了提供更美观和用户友好的URL,我们可以通过配置来省略这个部分。以下是一些详细的步骤和知识点,教你如何在...

    Windows平台的 PHP 报错 Fatal error: Class COM not found in 的解决方法

    2. **配置php.ini**:在`php.ini`配置文件中,你需要添加或者确保存在以下配置行: ``` [PHP_COM_DOTNET] extension=php_com_dotnet.dll ``` 这行代码告诉PHP加载并启用`php_com_dotnet.dll`扩展。请确保`...

    Windows7环境下Apache+PHP+MySQL完美配置

    这个配置过程可能会遇到一些常见的问题,如Apache启动失败或PHP无法连接MySQL,但只要仔细检查配置文件和环境变量,大部分问题都能得到解决。对于初学者来说,这是一个很好的学习机会,了解这些基础组件的配置和交互...

    php报错502badgateway解决方法

    在我们进行网站维护或者搭建网站服务时,经常可能会遇到PHP报错502 Bad Gateway的问题,这主要是由后端服务无法获取到正确的响应所造成的。在服务器和客户端之间通常存在着一个或多个网关或者代理服务器,502错误...

    ecshop2.73 php5.5版

    安装ECShop时,用户需要将这个压缩包解压到服务器上,然后按照官方文档的指引配置数据库连接、设置管理员账户等,即可启动ECShop平台。 为了保证ECShop2.7.3在PHP 5.5及更高版本上的稳定运行,开发者可能已经进行了...

    Win10下部署IIS,并运行php项目

    3. 继续找到World Wide Web Publishing Service服务,点击启动,如果弹出报错信息:1068:依赖服务或组无法启动,执行以下操作。 4. 在运行中输入regedit,打开注册表编辑器,找到HKEY_LOCAL_MACHINE--&gt;SYSTEM--&gt;...

    PHP 500报错的快速解决方法

    修复这些错误后,重新启动PHP-FPM服务以应用更改。 5. **权限问题**:有时,500错误可能是由于文件或目录权限不正确导致的。确保PHP脚本可以读取、写入和执行必要的文件和目录,例如,`php.ini`、`wp-config.php`或...

    解决Windows下PHP的exec、shell_exec等函数不能正常运行的方法

    当PHP尝试通过这些函数启动一个进程时,它需要有执行`cmd.exe`的权限。 问题在于,默认情况下,PHP可能没有足够的权限来访问`cmd.exe`,特别是在非管理员权限下运行PHP环境的情况下。在IIS(Internet Information ...

    搭建php相关文档整理

    6、切换目录 cd /usr/local/php5.6 启动 PHP,报错了,启动失败。解决方法:将 php.ini-production 文件复制到/usr/local/lib 目录下,并改名为 php.ini 7、将 php-fpm.conf.default 文件复制到 etc 目录下,并改名...

    php-7.0.27.tar.gz

    编译 ./configure --prefix=/usr/...加入 systemtl 服务: cd /usr/local/src/php-7.3.0beta1/sapi/fpm cp php-fpm.service /usr/lib/systemd/system/ 启动: systemctl start php-fpm systemctl status php-fpm -l

    超详细web服务器权限设置与事件查看器完全无报错(EXE)

    2. 使用事件查看器:启动事件查看器,定期检查错误和警告,根据日志信息解决遇到的问题。 3. 跟踪异常:设置自定义的事件查看器订阅,当特定事件发生时接收通知,提高问题响应速度。 4. 安全最佳实践:遵循Web...

    IIS7运行PHP(FastCGI篇)

    FastCGI是一种用于提高动态内容处理性能的协议,它允许Web服务器(如IIS)与外部应用程序(如PHP解释器)进行长时间连接,从而避免了每次请求时都需要启动新进程的开销。 描述提到的"IIS7运行PHP(FastCGI篇),之前...

    nginx调用php-fpm出错解决方法和nginx配置详解

    装完了nginx和php-5.5,配置好了nginx调用php后,就开始启动php-fpm。 使用下面的命令 代码如下:/usr/local/php/sbin/php-fpm 就可以启动了。 在nginx的目录中创建个php的检测脚本index.php 结果在打开...

    Windows下PHP安装路径配置错误导致Apache无法启动的解决方法

    LoadModule php5_module “C(/D):/Program Files/...装完MySql,配置好apache和php的配置文件后,重起发现问题了 Apache无法正常启动。 鉴于此原因本人呢又卸载重装了1遍apache+php+mysql这个环境,但是问题却

    phpinfo无法显示的原因及解决办法

    今天调试lnmp环境,出现如下报错。无法查询到php信息。 环境:linux版本CentOS Linux release 7.3.1611 (Core),nginx使用tengine。php和tengine均为源码安装到/usr/local。 首先确认tengine已经启动,在网站根目录...

Global site tag (gtag.js) - Google Analytics