所以我使用 buildroot 构建了一个嵌入式 apache Web 服务器,它运行良好,只是它不运行 php 代码。我可以在系统的命令行中运行 .php 文件,但是当我在浏览器中打开这些 .php 文件时,它不会运行 php 代码,它只是忽略所有 php 代码并将其解释为 html。
我查看了 /etc/apache2/httpd.conf 文件,它有一行加载 php 模块:
LoadModule php7_module modules/libphp7.so
有谁知道如何让php运行?
为了以防万一,我将留下一些可能相关的目录和文件的信息:
/ETC/
阿帕奇2/
php-fpm.conf
php-fpm.d/
php.ini
/etc/apache2/
额外的/
httpd.conf.bak
哑剧类型
httpd.conf
魔法
原来的/
/usr/lib/php/
- (空的)
/usr/modules/libphp7.so
除了加载模块(您的 httpd.conf 文件根据您的问题内容显示它正在执行的操作)之外,您还需要使用
SetHandler
指令*.php
或其他适当的扩展。像这样的东西应该可以工作,只要把它放在
LoadModule
声明之后。上面这条语句的作用是告诉 Apache 如何处理具有某些扩展名的文件。这
.+\.ph(p[3457]?|t|tml)$
是一个正则表达式 (regex),它匹配文件的多个不同结尾($
表示字符串的结尾) - 因此以.php
,.php3
,.php4
等结尾的文件都将在发送到之前由 Apache 服务器和 PHP 模块处理浏览器。不要忘记重新启动 httpd 服务。
如果它仍然不起作用,请检查引用要加载的模块的路径,并确保
libphp7.so
它位于要加载的正确位置。