Php
如何讓 PHP 5.3.3 在 CentOS 5.5 上與 Nginx 一起工作?
我已經從原始碼將 Engine X 和 PHP 5.3.3 安裝到 CentOS 5.5 伺服器上。我認為安裝後一切順利,Engine X 確實可以提供靜態文件。
但是,當嘗試訪問基本的 php 文件時,它將 php 程式碼作為純文字提供。
Engine X 錯誤日誌顯示:
2010/09/23 20:49:35 [error] 3331#0: *6 connect() failed (111: Connection refused) while 連接到上游,客戶端:my.local.ip,伺服器:the_server, 請求:“GET / HTTP/1.1”,上游:“fastcgi://127.0.0.1:9000”, 主機:“the.servers.ip”
我的配置文件內容如下:
伺服器 { 聽 *:80; 位置 ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME /var/www/default$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; 包括/usr/local/nginx/conf/fastcgi_params; } }
知道了!顯然,此版本預設關閉短標籤支持。所以 NginX 正確地傳遞了它,但是 PHP 忽略了簡短的 PHP 標記並將其發送回未處理。
- 確保 php-fpm 正在執行(
ps auxw | grep php
或任何方式)- 確保 php-fpm 實際上正在監聽 9000。(檢查配置)
- 確保您的軟體防火牆沒有阻止 9000 上的環回連接。
我不是 nginx 人,但錯誤資訊很清楚:沒有人在 127.0.0.1:9000 接聽電話