PHP代码被编写成纯文本输出,为什么?


php code is written to output as plain text, why?

我已经在linux上安装了apache服务器和php5,但我无法获得一个简单的php文件执行并显示在浏览器中。我在浏览器中看到的是:

<?php echo 'hello';?>

为什么php代码没有被执行?

以下是/etc/apache2/sites-available/default文件的内容:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/public
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride All
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

我把test php文件放在/var/www/public

考虑这些:

    PHP安装了吗?
  • 是否启用了相关的apache模块(例如mod_php)?
  • PHP文件的文件权限是多少?是否可以由web服务器用户执行?
  • 是否有任何错误信息在apache或php错误日志吗?

您的容器缺少一个,这里是一个带有echo回调的条件。

if($result) {
       echo "success";
    }