在CentOS系統中,設置PHP-CGI以便與Web服務器(如Nginx或Apache)一起工作,可以按照以下步驟進行:
安裝PHP-FPM:
sudo yum install php-fpm
配置PHP-FPM:
編輯PHP-FPM的配置文件 /etc/php-fpm.d/www.conf,確保監聽地址和端口正確。默認情況下,PHP-FPM會監聽Unix socket /run/php-fpm/www.sock。
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx
啟動PHP-FPM:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
配置Nginx:
編輯Nginx的配置文件 /etc/nginx/nginx.conf 或站點配置文件(通常在 /etc/nginx/conf.d/ 或 /etc/nginx/sites-available/ 目錄下),添加以下內容:
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
重啟Nginx:
sudo systemctl restart nginx
安裝PHP-FPM:
sudo yum install php-fpm
配置PHP-FPM:
編輯PHP-FPM的配置文件 /etc/php-fpm.d/www.conf,確保監聽地址和端口正確。默認情況下,PHP-FPM會監聽Unix socket /run/php-fpm/www.sock。
listen = /run/php-fpm/www.sock
listen.owner = apache
listen.group = apache
啟動PHP-FPM:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
配置Apache:
編輯Apache的配置文件 /etc/httpd/conf/httpd.conf 或站點配置文件(通常在 /etc/httpd/conf.d/ 或 /etc/httpd/sites-available/ 目錄下),添加以下內容:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://localhost:9000"
</FilesMatch>
</VirtualHost>
重啟Apache:
sudo systemctl restart httpd
無論使用哪種方式,都可以通過創建一個簡單的PHP文件來驗證配置是否正確。例如,在 /var/www/html 目錄下創建一個 info.php 文件,內容如下:
<?php
phpinfo();
?>
然后在瀏覽器中訪問 http://example.com/info.php,如果看到PHP信息頁面,則配置成功。
通過以上步驟,你可以在CentOS系統中成功設置PHP-CGI,并與Nginx或Apache一起工作。