我有这个php-fpm.conf
[example.com]
listen = 127.0.0.1:9001
listen.owner = example.com
listen.group = example.com
listen.mode = 0660
listen.backlog = -1
user = example.com
group = example.com
pm = dynamic
pm.max_requests = 0
pm.max_children = 2
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 1
chroot = /home/vhosts/example.com/
request_terminate_timeout = 2
request_slowlog_timeout = 1
slowlog = /home/vhosts/example.com/log/php-slow.log
catch_workers_output = yes
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
php_flag[display_errors] = on
php_admin_value[session.save_path] = /tmp
php_admin_value[error_log] = /home/vhosts/example.com/log/php-error.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 100M
php_value[max_execution_time] = 20我不明白为什么/home/vhosts/example.com/log/php-error.log是空的,我导致了一些错误,比如10 /0(零除法)等,我看到错误作为输出,但是php-error.log仍然是空的。
我修改了我的vhost,但如果我改变了
/home/vhosts/example.com/log/php-error.log
至
/log/php-error.log
当我执行"10 / 0“时,我得到了一个非常奇怪的错误!
Fatal error: main(): Timezone database is corrupt - this should *never* happen! in /web/index.php on line 10 发布于 2011-05-11 13:34:32
来自Debian的文档:
来自系统时区数据库的
时区数据
Debian PHP已经打了补丁,可以使用tzdata包中的系统范围的时区数据库,确保PHP也会自动使用那里的任何更新。
注意,这需要PHP进程能够访问/etc/localtime和/usr/share/zoneinfo。对于任何常规安装,这应该是这种情况,但在特定的安全环境中,当读取时区数据库是不可能的时候,PHP会给出一个“时区数据库已损坏-这应该永远不会发生!”错误。
因此,您需要将/etc/localtime文件和/usr/share/zoneinfo目录复制到chroot目录。
发布于 2012-01-23 20:21:41
您看不到日志条目,因为您指定的日志路径是“实际路径”:
php_admin_value[error_log] = /home/vhosts/example.com/log/php-error.log由于您正在执行chrooting,因此需要指定“chroot相对路径”:
php_admin_value[error_log] = /log/php-error.log这是因为对于php-fpm worker /home/vhosts/example.com/来说,由于chrooting,/实际上是/。
我还没有测试过它,但是我怀疑你的会话路径可能也会受到这个问题的影响,所以你需要确保"chrooted /tmp“存在(真的是/home/vhosts/example.com/tmp),并且对于你正在使用的php-fpm池的用户是可写的。
发布于 2011-06-23 19:46:29
我目前遇到了类似的问题,可能与listen.backlog设置有关。我发现不同的帖子声称-1可能被错误地解释。我目前正在尝试将listen.backlog设置为0或更高的值。我会看看结果是什么,并与您保持联系。
您是否尝试过按如下方式更正日志路径?log/php-error.log (前导斜杠使其查找通常在Linux系统上不存在的/log文件夹。
亲切的问候
https://stackoverflow.com/questions/5862453
复制相似问题