我想使用这个技术组合来提供php文件:
- 乌班图 14.04 LTS
- 阿帕奇 2.4.18
- PHP 7.0.3
我使用 shell 命令配置和制作从源代码安装了 apache 和 php。
安装顺利。
我在这里安装了阿帕奇:
~/apache/
我在这里安装了php:
~/php/
php install 在 apache 树中放置了一个共享库:
-rwxr-xr-x 1 dan dan 29175263 Feb 18 01:14 libphp7.so
上面的文件位于此文件夹中:
~/apache/modules/
还编辑了 php 安装:
~/apache/conf/httpd.conf
我在那里看到这个条目:
LoadModule php7_module modules/libphp7.so
我编辑了 httpd.conf 来收听
0.0.0.0:3080
我使用
~/apache/bin/apachectl start
它可以毫无问题地提供html文件。
我在 php.net 尝试了第一个演示:
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo '<p>Hello World</p>'; ?>
</body>
</html>
我把语法放在:
~/apache/htdocs/php10.php
当我得到 php10.php 带有卷曲时,我看到这个:
dan@nia111:~ $
dan@nia111:~ $ curl 0.0.0.0:3080/php10.php
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo '<p>Hello World</p>'; ?>
</body>
</html>
dan@nia111:~ $
dan@nia111:~ $
这是一个明显的故障。
我应该看到这个:
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>
问题:
如何调试我的技术组合,以便 Apache 评估我的 php 文件中的 php 语法,而不是将其作为纯 HTML 提供?
我放置了副本
~/apache/
和
~/php/
在 GitHub 上,以便您可以研究我的配置:
https://github.com/danbikle/php_broken
你需要告诉 Apache 哪些文件应该解析为 PHP。一种方法是使用此指令:
<FilesMatch "'.ph(p3?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
这告诉 Apache 将 *.php、*.php3 和 *.phtml 解析为 PHP,但你真的可以使用任何扩展名。