PHP CGI 模块是一种为了在网站上执行 PHP 脚本而设计的程序,使得用户在执行脚本时可以使用浏览器或者命令行。它可以被 Apache 服务器使用,而且它的安装和使用方法也很简单。
当你通过浏览器访问一个使用 PHP 的网站时,你所看到的网页都包含了 PHP 脚本的执行结果。比如,在一个电子商务网站上,当你查看商品详情时,PHP 脚本会从数据库中读取信息并将其用 HTML 代码呈现在你的浏览器上。
通常,这些脚本都是通过一个专门的软件运行在服务器上的,这个软件就是 PHP CGI 模块。如果没有这个模块,服务器就无法识别 PHP 脚本,从而无法执行它们。
在安装 PHP CGI 模块之前,你需要确认你已经在服务器上安装了一些必要的组件,例如 Apache web 服务器、PHP7 或者 PHP8、GCC 编译器以及其他一些库。
代码安装步骤如下:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2 php7.0 libapache2-mod-php7.0
sudo apt-get install build-essential
sudo apt-get install libssl-dev libxml2-dev libcurl4-openssl-dev
sudo apt-get install git
git clone https://github.com/php/php-src.git
cd php-src
./buildconf --force
./configure --prefix=$HOME/php7/usr --with-apxs2=$HOME/apache2/bin/apxs \
--with-mysqli --enable-mbstring --with-openssl --with-curl \
--without-pear --disable-short-tags --disable-phar --disable-phpdbg \
--enable-bcmath --enable-calendar --enable-exif --enable-ftp \
--enable-gd-native-ttf --enable-intl --enable-json --enable-pcntl \
--enable-shmop --enable-soap --enable-sockets --enable-sysvmsg \
--enable-sysvsem --enable-sysvshm --enable-wddx --enable-zip \
--with-iconv --with-gmp --with-pspell --with-tidy --with-readline
make
make test
sudo make install
解释下配置参数:
- —prefix:安装目录
- —with-apxs2:指定Apache的路径
- —with-mysqli: 与MySQL的连接扩展模块
- --enable-mbstring:多字节字符集支持
- —with-openssl:ssl支持
- --with-curl:cURL支持
- —without-pear:去掉PEAR
- —disable-short-tags:关闭短标记支持
- —disable-phar:关闭phar扩展模块
- —disable-phpdbg:关闭php-debug助手
- --enable-bcmath:开启任意精度数学计算
- --enable-calendar:开启行事历支持
- --enable-exif:开启exif扩展
- --enable-ftp:开启ftp支持
- --enable-gd-native-ttf:开启GD库开发支持
- --enable-intl:开启Internationalization扩展
- --enable-json:开启json扩展
- --enable-pcntl:开启进程管理相关支持
- --enable-shmop:开启共享内存支持
- --enable-soap:开启SOAP支持
- --enable-sockets:开启socket扩展
- --enable-sysvmsg:开启System V信息队列支持
- --enable-sysvsem:开启System V信号量支持
- --enable-sysvshm:开启System V共享内存支持
- --enable-wddx:开启支持Web绑定数据交换协议(WDDX)
- --enable-zip:支持zip压缩
- --with-iconv:指定iconv库路径
- --with-gmp:开启GMP支持
- --with-pspell:开启pspell扩展支持
- --with-tidy:开启TidyHtml支持
- --with-readline:加入readline支持
使用 PHP CGI 模块可以使得你运行一个 PHP 程序,从而让你在 Apache 服务器上提供网页。
PHP CGI 模块最重要的优点是它可以支持 Apache HTTP Server 的虚拟主机,这是 Apache HTTP Server 最好的特性之一,因为它可以为每个网站提供一个独立的作用域,从而保护任何错误在一个网站上的影响范围。
总之,在网站开发中,PHP CGI 模块可以技术上提供你需要的功能,而且能够很容易的安装和使用,所以对于任何需要运行 PHP 的环境,这个模块都是不可或缺的。