ini_set('error_log', $custom_error_log_location);
print ini_get('error_log');上面代码的结果是什么?没什么!从字面上看,它不打印任何内容作为ini_get('error_log')的值。我在Apache服务器上运行它。我调查了我的网站的Apache配置。Apache配置通过ErrorLog指令设置了自己的错误日志。事情是这样的:我在同一台服务器上运行另一个网站,具有类似的Apache配置,在该网站上我可以用PHP指定一个自定义错误日志。
我还检查了站点的php.ini文件。那里没有日志记录。我想知道的是,Apache或php.ini中是否有一些配置会阻止我修改错误日志文件所在的位置?
发布于 2011-02-13 06:05:57
如果safe_mode或open_basedir生效,ini_set("error_log")将受到这些设置的限制(因为您可以使用error_log()在打开的文件中写入任何内容)。
该限制同时涵盖运行时和.htaccess,但是您可以使用php_value指令在虚拟主机配置文件中设置它。
发布于 2011-02-13 04:24:43
error_log设置属于可以在任何地方设置的PHP_INI_ALL。所以你的代码应该没什么问题。
通过“print nothing as the value of ini_get('error_log')",可能是您的$custom_error_log_location为空或null,我建议在$custom_error_log_location和ini_get('error_log')上使用var_dump()进行调试,而不是打印。
发布于 2011-02-13 08:01:23
结果是我开着safe_mode,仅此而已。
https://stackoverflow.com/questions/4980342
复制相似问题