情况:
服务器A和服务器B安装了相同的Ubuntu 14.04,相同的nginx版本(1.4.6),相同的虚拟主机(domain.com)和joomla文件夹(rsync-ed从服务器A到B)
但服务器A只能显示其首页,并会在任何菜单项上显示“没有指定文件input”。
如果我在/ etc / hosts中更改,以便服务器A的IP在服务器Btesting后使用domain.com,则不会立即失败。 只有几分钟后,才会出现错误。
在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; }
}