Ubuntu下手动编辑httpd.conf配置Apache运行cgi-bin外的.php文件
手动配置Apache让CGI目录外的PHP脚本运行
以下是直接编辑httpd.conf完成配置的步骤,全程不用a2enmod这类工具:
第一步:确保PHP模块已加载
打开httpd.conf,找到LoadModule指令区域,添加对应PHP版本的模块加载语句。比如你用的是PHP8,路径可能是这样(根据你的实际PHP安装路径调整):LoadModule php8_module /usr/lib/apache2/modules/libphp8.so注意:如果你的PHP是源码编译的,模块路径可能在
/usr/local/lib或者自定义编译目录下,要对应改对。第二步:让Apache识别并处理.php文件
在httpd.conf里添加以下指令,告诉Apache把.php文件交给PHP模块解析:# 关联.php文件到PHP处理器 AddHandler application/x-httpd-php .php # 确保.php文件以HTML类型输出 AddType text/html .php # 可选:让index.php成为默认首页 DirectoryIndex index.php index.html第三步:给目标目录开启PHP解析权限
找到你自定义的网站根目录对应的<Directory>块(如果没有就新建一个),比如你的网站文件放在/home/my-site/public,就添加:<Directory "/home/my-site/public"> # 允许所有请求访问 Require all granted # 启用PHP引擎(如果全局没开的话) php_flag engine on # 允许必要的选项,不需要ExecCGI(因为用的是PHP模块,不是CGI模式) Options FollowSymLinks MultiViews </Directory>最后一步:重启Apache生效
执行命令重启Apache服务:# 系统d环境 systemctl restart apache2 # 或者用apachectl apachectl restart
测试一下:把一个简单的test.php文件放到你的自定义目录里,内容写<?php phpinfo(); ?>,访问这个文件的URL,如果能看到PHP信息页面就配置成功了。
内容的提问来源于stack exchange,提问作者DevJoe
相关产品推荐
相关产品推荐

