Failed opening required или что nginx передает на FastCGI?
Алексей Сундуков
public-mail at alekciy.ru
Tue Jul 14 14:50:00 MSD 2009
Получаю в логе ошибок такое вот сообщение:
2009/07/14 14:35:46 [error] 15758#0: *2 FastCGI sent in stderr: "PHP
Warning: Unknown: Filename cannot be empty in Unknown on line 0
PHP Fatal error: Unknown: Failed opening required ''
(include_path='.:/usr/local/lib/php') in Unknown on line 0" while
reading response header from upstream, client: ***, server: site.ru,
request: "GET /info.php HTTP/1.1", upstream: "fastcgi://***:9001",
host: "site.ru"
Как я понимаю nginx не передает на FastCGI SCRIPT_FILENAME. Как можно
выяснить, почему так просходит? Я задал запись лога test из которого
видно, что $fastcgi_script_name=/info.php, а
$document_root=/home/www/alekciy/site.ru. Конфиг:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
user www www;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio"';
log_format test '$fastcgi_script_name $request_uri $document_uri
$document_root';
server {
listen 80;
server_name site.ru;
access_log /home/www/alekciy/httpd-1.log test;
location / {
root /home/www/alekciy/site.ru;
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass ***:9001;
root /home/www/alekciy/site.ru;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
/home/www/alekciy/site.ru$fastcgi_script_name;
include fastcgi_params;
}
}
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - -
nginx версии 0.6.32, статика отдается корректно.
More information about the nginx-ru
mailing list