apache 支持 php 的常見方式是通過模塊或 fpm,但也可以使用 CGI 模式。一、確認 apache 已安裝并正常運行,并啟用 cgi 模塊;二、準備 php cgi 可執行文件,如未安裝則需安裝 php-cgi 包;三、配置 apache 啟用 php cgi,在站點配置中添加目錄權限、處理程序及 php-cgi 路徑,并重啟 apache;四、測試 php 是否正常工作,創建 info.php 文件訪問測試頁面,確認 cgi 模式生效。整個過程需注意路徑、權限和模塊加載情況。
Apache 要支持 PHP,最常見的方式不是用 CGI,而是通過模塊(如 mod_php)或 FPM 來處理。但如果你確實需要用 CGI 模式運行 PHP,比如出于調試、學習或者特定環境需求,那也是可以實現的。下面分步驟說說怎么配置。
一、確認 Apache 已安裝并正常運行
在開始之前,先確保你的 Apache 是正常工作的。你可以執行:
sudo apachectl status
如果看到類似 Apache Server Status 的頁面,說明 Apache 正在運行。
立即學習“PHP免費學習筆記(深入)”;
如果沒有啟動,可以用:
sudo apachectl start
另外,記得檢查一下 Apache 是否啟用了 CGI 模塊。一般這個模塊是 mod_cgi 或者 mod_cgid。可以通過以下命令查看是否加載了:
sudo apachectl -M | grep cgi
如果沒看到輸出,可能需要手動啟用它,在配置文件中取消注釋或添加:
LoadModule cgi_module modules/mod_cgi.so
具體路徑根據你系統實際來定。
二、準備 PHP CGI 可執行文件
要使用 CGI 模式運行 PHP,你需要一個可執行的 PHP-CGI 程序。如果你已經安裝了 PHP,可以用這個命令看看有沒有:
which php-cgi
如果沒有的話,可以根據系統安裝對應的包。例如在 Ubuntu 上:
sudo apt install php-cgi
裝好后,再次確認路徑是否存在。
三、配置 Apache 啟用 PHP CGI
接下來就是在 Apache 配置里加上對 PHP 的 CGI 支持。這里以虛擬主機為例,也可以直接加到全局配置中。
編輯你的站點配置文件,比如:
sudo nano /etc/apache2/sites-available/000-default.conf
在里面加入如下內容:
<Directory "/var/www/html"> Options +ExecCGI AddHandler cgi-script .php DirectoryIndex index.php index.html </Directory>
這表示允許在這個目錄下執行 .php 文件作為 CGI 腳本。
然后設置 PHP-CGI 的路徑。可以在同一個
ScriptAlias /php/ /usr/bin/ Action application/x-httpd-php /php/php-cgi AddType application/x-httpd-php .php
注意 /usr/bin/ 這個路徑要根據你實際的 php-cgi 所在位置調整。
最后別忘了重啟 Apache:
sudo systemctl restart apache2
四、測試 PHP 是否正常工作
在網站根目錄下新建一個 info.php 文件:
<?php phpinfo(); ?>
訪問 https://www.php.cn/link/a07e2052b13d602da6022e533f3bed3d PHP 的信息頁,說明 CGI 模式已經生效了。
不過要注意的是,PHP-CGI 模式性能不如 PHP-FPM,而且每次請求都會啟動一個新進程,效率相對低一些,適合開發或小流量場景。
基本上就這些。整個過程不算復雜,但有些細節容易忽略,比如權限、路徑是否正確、模塊是否啟用等。只要一步步來,問題不大。