Всем привет.
После недели мучений я сдаюсь. :)
Мне нужна помощь в настройке связки nginx+php-fpm+freebsd
Конкретнее, у меня проблема с логами ошибок. Они, тупо, не пишутся.
вводные данные таковы.
freebsd 8.3-RELEASEPHP 5.4.7 (fpm-fcgi) nginx version: nginx/1.2.4
конфиг FPM
[global]<br>
pid = run/php-fpm.pid<br>
error_log = log/php-fpm.log<br>
log_level = notice<br>
emergency_restart_threshold = 5<br>
emergency_restart_interval = 2<br>
process_control_timeout = 2<br>
daemonize = yes<br>
events.mechanism = kqueue<br><br>
[puser]<br>
listen = /usr/local/www/host/tmp/php-fpm.sock;<br>
listen.backlog = -1<br>
listen.allowed_clients = 127.0.0.1<br>
listen.owner = puser<br>
listen.group = puser<br>
listen.mode = 0666<br>
user = puser<br>
group = puser<br>
pm = dynamic<br>
pm.max_children = 30<br>
pm.start_servers = 2<br>
pm.min_spare_servers = 2<br>
pm.max_spare_servers = 5<br>
pm.max_requests = 50<br>
slowlog = /usr/local/www/host/logs/fpm.log.slow<br>
request_slowlog_timeout = 1s<br>
rlimit_files = 1024<br>
rlimit_core = 0<br>
chroot = /usr/local/www/host/<br>
catch_workers_output = yes<br>
env[HOSTNAME] = $HOSTNAME<br>
env[TMP] = /tmp<br>
env[TMPDIR] = /tmp<br>
env[TEMP] = /tmp<br>
php_admin_value[upload_tmp_dir] = /tmp<br>
php_admin_value[cgi.fix_pathinfo] = 0<br>
php_admin_value[date.timezone]= 'Europe/Moscow'<br>
php_admin_value[memory_limit] = 320m<br>
php_admin_value[max_execution_time] = 180<br>
php_admin_flag[log_errors] = on<br>
php_admin_value[error_log] = /usr/local/www/host/logs/fpm-err.log (пробовал и по chroot ставить, и просто файл указывал. никаких признаков жизни)<br>
php_admin_value[error_reporting] = 'E_ALL & ~E_NOTICE'<br>
php_admin_value[display_errors] = off<br>
php_admin_flag[display_startup_errors] = off<br>
конфиг nginx
user www;<br>
worker_processes 2;<br>
worker_rlimit_nofile 80000;<br><br>
error_log /var/log/nginx_error.log notice;<br><br>
#pid logs/nginx.pid;<br><br>
events {<br>
worker_connections 2048;<br>
use kqueue;<br>
}<br><br>
http {<br>
server_tokens off;<br>
client_max_body_size 4m;<br>
include mime.types;<br>
default_type application/octet-stream;<br>
charset utf-8;<br>
sendfile on;<br>
keepalive_timeout 65;<br>
tcp_nopush on;<br>
tcp_nodelay on;<br>
log_format IP .$remote_addr.;<br>
log_format main '$remote_addr - $remote_user [$time_local] $request $request_body '<br>
'"$status" $body_bytes_sent "$http_referer" '<br>
'"$http_user_agent" "$http_x_forwarded_for"';<br>
reset_timedout_connection on;<br>
server {<br>
listen 80;<br>
server_name www.example.com;<br><br>
access_log /usr/local/www/host/logs/access.log main;<br>
error_log /usr/local/www/host/logs/error.log error;<br>
error_page 500 502 503 504 /errors/50x.html;<br>
error_page 404 /errors/404.html;<br>
root /usr/local/www/host/htdocs;<br>
index index.php index.html index.htm;<br><br>
location / {<br>
index index.html index.php;<br>
try_files $uri /index.php?$args;<br>
}<br><br>
location ~ \.php$ {<br>
fastcgi_split_path_info ^(.+\.php)(.*)$;<br>
fastcgi_intercept_errors on;<br>
fastcgi_pass unix:/usr/local/www/host/tmp/php-fpm.sock;<br>
fastcgi_index index.php;<br>
fastcgi_param SCRIPT_FILENAME /htdocs$fastcgi_script_name;<br>
fastcgi_param PATH_INFO $fastcgi_path_info;<br>
fastcgi_param PATH_TRANSLATED /htdocs$fastcgi_script_name;<br>
include /usr/local/etc/nginx/fastcgi_params;<br>
}<br>
}<br><br>
}<br><br>
в файле index.php, намеренно допускаю ошибку, например ставлю ' (кавычку) и…
никакой реакции со стороны сервера. Он, конечно, вываливает 500 стандартную ошибку, но во всех логах, кроме access.log вообще нет никаких свидетельств об этом инциденте.
Что я делаю не так?