Ситуация:
На сервере A и сервере B установлены одинаковые Ubuntu 14.04, та же версия nginx (1.4.6), тот же виртуальный хост (domain.com) и папка joomla (rsync-ed с сервера A на B)
Но сервер A может отображать только свою первую страницу и будет отображать «ввод файла не указан» в любых пунктах меню.
Если я изменю / etc / hosts так, чтобы IP-адрес сервера A использовал domain.com после тестирования сервера B, он не сразу отказал бы. Только через несколько минут эта ошибка появится.
В журнале ошибок nginx есть несколько сообщений, например, ниже:
2015/02/23 12:01:57 [error] 15515#0: *260609 FastCGI sent in stderr: "PHP message: PHP Notice: Undefined property: JPagination::$pagesTotal in /var/www/joomla/templates/ashton/html/com_content/featured/default.php on line 76" while reading response header from upstream, client: 10.224.202.152, server: www.domain.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "www.domain.com"
решил это, добавив "fastcgi_param SCRIPT_FILENAME"
Пример как ниже
server {
listen 80;
root /var/www/joomla;
index index.php index.html index.htm;
server_name www.domain.com;
location / {
try_files $uri $uri/ /index.php?q=$request_uri;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}