我一直在查看所有其他堆栈溢出问题,这些问题也有此错误消息,但这些问题中没有提供的答案对我有帮助。我首先提供此问题的上下文,然后共享我设置的错误日志和配置。
因此,在我公司的网站上,我们有一个客户端门户,由一个完全独立的开发公司使用CodeIgniter创建。他们没有回复我的任何电子邮件,所以我不得不尝试自己解决这个问题。我的PHP技能并不完全符合鼻烟,但我努力解决这个问题。
该错误主要与文件上传有关。客户端门户允许我们上传文件供我们的客户查看,同时它还可以将多个文件压缩在一起发送给多个人。从本周开始,上传一直在失败。这只是第一个问题,目前的问题是我无法查看由于" open_basedir限制生效的任何错误日志"错误。
以下是/etc/php5/apache2/php.ini文件中的一些配置:
open_basedir = /var/www/:/tmp/
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = On
display_startup_errors = On
log_errors = On
error_log = "/var/www/dashboard.fnfa.ca/php_errors.log"
即使定义了error_log,它也不会因某种原因而被记录。所以在/var/www/dashboard.fnfa.ca/.htaccess中我添加了以下配置:
php_flag error_log /var/www/dashboard.fnfa.ca/php_errors.log
这会将文件记录到,但是当我收到实际PHP错误的INSTEAD错误时:
PHP Warning: Unknown: open_basedir restriction in effect. File(0) is not within the allowed path(s): (/var/www/:/tmp/) in Unknown on line 0
我假设open_basedir限制阻止显示正确的消息。我一直在乱搞open_basedir配置,试图获取除此错误消息之外的任何内容。我将open_basedir值更改为以下内容无效:
open_basedir = /var/www/:/tmp/:/var/www/dashboard.fnfa.ca/
没有做任何事。当我把它设置为“没有”时。根本不再写入错误日志。我觉得这是一个非常简单的问题,我遇到了很多麻烦。如果有人可以帮助我解决这个问题,我将非常感激。如果您希望看到任何其他设置,只需询问,我会尽我所能提供。
答案 0 :(得分:0)
原来我们的秘书取消了我们的亚马逊网络服务帐户,网络应用程序使用了亚马逊S3。仍然看不到错误日志,但至少我的网络应用程序将在今天启动并运行。