关于php配置文件
2014-09-05 11:15
288 查看
一:配置文件(php.ini)在 PHP 启动时被读取。对于服务器模块版本的 PHP,仅在 web 服务器启动时读取一次。对于 CGI 和 CLI 版本,每次调用都会读取。
二:Note that the CLI version of PHP does not appear to take into account any php.ini configuration file. As such, something like a max_execution_time limit setting you may think is being applied is actually not being used, and instead defaulting to 0 (which is unlimited).
三:PHP 运行于 Apache 模块方式
当使用 PHP 作为 Apache 模块时,也可以用 Apache 的配置文件(例如 httpd.conf)和 .htaccess文件中的指令来修改 PHP 的配置设定。需要有“AllowOverride Options”或“AllowOverride All”权限才可以。
有几个 Apache 指令可以使用户在 Apache 配置文件内部修改 PHP 的配置。哪些指令属于
四:PHP 常量不存在于 PHP 之外。例如在 httpd.conf 中不能使用 PHP 常量如
五:
<?php
// You can use isset or is_null for $_SERVER['FCGI_SERVER_VERSION']
function isFastCGI () {
return !is_null($_SERVER['FCGI_SERVER_VERSION']);
}
?>
六:在PHP 5之中,提供了一个新的错误级别
七:尽管 display_errors 也可以在运行时设置 (使用 ini_set() ), 但是脚本出现致命错误时任何运行时的设置都是无效的。 因为在这种情况下预期运行的操作不会被执行。
即使 display_errors 设置为开启, PHP 启动过程中的错误信息也不会被显示。强烈建议除了调试目的以外,将 display_startup_errors 设置为关闭。
例如:
error_reporting(E_ALL);
ini_set('display_errors','Off');
echo 234/0
exit;
这样仍然会报错:Parse error: syntax error, unexpected T_EXIT, expecting ',' or ';'
二:Note that the CLI version of PHP does not appear to take into account any php.ini configuration file. As such, something like a max_execution_time limit setting you may think is being applied is actually not being used, and instead defaulting to 0 (which is unlimited).
三:PHP 运行于 Apache 模块方式
当使用 PHP 作为 Apache 模块时,也可以用 Apache 的配置文件(例如 httpd.conf)和 .htaccess文件中的指令来修改 PHP 的配置设定。需要有“AllowOverride Options”或“AllowOverride All”权限才可以。
有几个 Apache 指令可以使用户在 Apache 配置文件内部修改 PHP 的配置。哪些指令属于
PHP_INI_ALL,
PHP_INI_PERDIR或
PHP_INI_SYSTEM中的哪一个,请参考附录中的 php.ini 配置选项列表。
四:PHP 常量不存在于 PHP 之外。例如在 httpd.conf 中不能使用 PHP 常量如
E_ALL或
E_NOTICE来设定 error_reporting指令,因为其无意义,实际等于 0。应该用相应的掩码值来替代。这些常量可以在 php.ini 中使用。
五:
<?php
// You can use isset or is_null for $_SERVER['FCGI_SERVER_VERSION']
function isFastCGI () {
return !is_null($_SERVER['FCGI_SERVER_VERSION']);
}
?>
六:在PHP 5之中,提供了一个新的错误级别
E_STRICT。 因为
E_STRICT并不包含在
E_ALL之中,你必须明确启用才能显示这个类别的错误信息。在开发阶段启用
E_STRICT会有一些好处。严格的信息将帮助你使用最新和最好的建议的方法来编写代码,例如它会警告你使用了将被废弃的函数。
七:尽管 display_errors 也可以在运行时设置 (使用 ini_set() ), 但是脚本出现致命错误时任何运行时的设置都是无效的。 因为在这种情况下预期运行的操作不会被执行。
display_startup_errorsboolean
即使 display_errors 设置为开启, PHP 启动过程中的错误信息也不会被显示。强烈建议除了调试目的以外,将 display_startup_errors 设置为关闭。
例如:
error_reporting(E_ALL);
ini_set('display_errors','Off');
echo 234/0
exit;
这样仍然会报错:Parse error: syntax error, unexpected T_EXIT, expecting ',' or ';'
相关文章推荐
- EasyEclipse for PHP运行PHP文件(关于PHP Browser的配置)
- 关于win10 php环境配置后运行php文件出现HTTP 错误 401.3 - Unauthorized的解决方法
- 关于php.ini配置文件不能加载的问题
- 关于Nginx+PHP 大文件上传的一些配置
- 关于PHP-Zend framework2 框架 学习过程。 阅前须知: ZF2中的配置文件是可以静态文件配置来注册和通过相关函数动态注册。 1.EventManager(事件驱动),关于事件驱动,在ZF2相关资料没有详细说明,可以参考ANDROID的事件驱动,MFC的消息响应/事件驱动。
- 关于PHP上传文件时配置 php.ini 中的 upload_tmp_dir
- PHP 的几个配置文件函数
- PHP 的几个配置文件函数
- PHP学习之路-关于phpmyadmin的配置
- Linux中关于重要配置文件
- 关于Assembly.CreateInstance中被启动对象读取配置文件的问题
- 关于Web.Config文件中的节配置
- wxzh001,进来看关于APACHE+PHP+MYSQL+SSL的LINUX下安装配置(转自奥索)
- (转载)关于asp.net的配置文件说明。
- Hibernate配置文件中关于discriminator 的一点解释
- 使用PHP对配置文件进行修改
- 关于hibernate映射继承关系时独立的子类配置文件的问题
- 关于整合php5,apache2.x,mysql中出现"无法载入 mysql 扩展,请检查 PHP 配置"的解决方法
- php的几个配置文件函数
- 透析PHP的配置文件php.ini