Apache支持PHP运行的核心步骤
首先需要安装Apache(Web服务器)和PHP(脚本语言),部分系统还需安装PHP扩展以增强功能(如数据库连接、加密等)。
sudo apt update && sudo apt install apache2sudo apt install php libapache2-mod-php php-mysql php-gd php-mbstringsudo yum install httpdsudo yum install php php-mysqlnd php-gd php-mbstringsystemctl status apache2或systemctl status httpd验证)。PHP需要通过Apache模块与服务器通信,需确保模块已启用:
a2enmod命令启用PHP模块(模块名随PHP版本变化,如php7.4、php8.2):sudo a2enmod php7.4sudo systemctl restart apache2/etc/httpd/conf/httpd.conf),取消以下行的注释:LoadModule php_module modules/libphp.sosudo systemctl restart httpd。需让Apache识别.php文件并交由PHP解释器处理,主要修改两个配置:
/etc/apache2/apache2.conf或/etc/httpd/conf/httpd.conf),添加以下规则,确保Apache能处理.php文件:<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
/etc/apache2/sites-available/your-site.conf或/etc/httpd/conf.d/your-site.conf),在<VirtualHost>块内添加上述<FilesMatch>规则,并确保DocumentRoot目录有正确权限:<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
</VirtualHost>
保存配置后重启Apache。创建一个PHP测试文件,验证Apache是否能正确解析PHP:
DocumentRoot目录(通常为/var/www/html)下创建info.php:sudo nano /var/www/html/info.php<?php phpinfo(); ?>
http://your_server_ip/info.php。若看到PHP信息页面(包含版本、模块、配置等信息),则说明配置成功。php-mysql用于数据库连接、php-curl用于HTTP请求),安装后重启Apache。sudo firewall-cmd --permanent --zone=public --add-service=httpsudo firewall-cmd --permanent --zone=public --add-service=httpssudo firewall-cmd --reloadphp.ini文件(路径可通过phpinfo()查看,如/etc/php/7.4/apache2/php.ini),修改display_errors、memory_limit等参数,优化PHP行为。