异想天开

What's the true meaning of light, Could you tell me why

php的配置选项auto_prepend_file

日期:2015-03-16 15:38:58
  
最后更新日期:2015-03-16 15:53:14
【技术】
需要php默认自动include一个带有调试功能函数的php脚步文件,该文件定义的函数相当于全局函数,在其他php脚本里面,不用包含也能使用该debug函数。搜索得知需要使用在php.ini里面添加auto_preend_file即可。php的运行环境是nginx+ php5-fcgi方式。实现上诉功能只要下面两者添加一项即可:
[code lang="cpp"]
1.在nginx端指定,可以在nginx.conf设定。
fastcgi_param PHP_VALUE "auto_prepend_file=/data/test/Smarty-3.1.14/debug.php";
2.在php.ini文件里面指定。
; Automatically add files before or after any PHP document.
auto_prepend_file = /data/bianzhuang/Smarty-3.1.14/debug.php
auto_append_file =
[/code]
PS:
在nginx端设定时,内网运行了几台nginx,配置到了另外一台server下,后面测试不行,换用方法二,而方法二需要启动时加载指定的php.ini。同时如果php.ini里面有两条相同的值时,第二个设定值会覆盖第一个设定值。
[code lang="cpp"]
/usr/local/php5-fcgi/bin/php-cgi --fpm --fpm-config /usr/local/php5-fcgi/etc/php-fpm.conf -c /usr/local/php5-fcgi/lib/php.ini start
[/code]
php.ini值设定有个作用域:
[code lang="cpp"]
PHP_INI_USER 可在用户脚本(如 ini_set())或Windows注册表(PHP 5.3 起)以及.user.ini中设定
PHP_INI_PERDIR 可在 php.ini,.htaccess 或 httpd.conf 中设定
PHP_INI_SYSTEM 可在 php.ini 或 httpd.conf 中设定
PHP_INI_ALL 可在任何地方设定
[/code]
php.ini的值设定:
http://php.net/manual/zh/ini.core.php