首页 > 解决方案 > Netbeans lamp php interpereter 不工作

问题描述

我正在关注这个 netbean 指南https://netbeans.org/kb/docs/php/configure-php-environment-ubuntu.html#createDocumentRootLocation

但我坚持创建虚拟主机。我尝试按照教程中的方式进行操作,但<Directory>“000-default.conf”文件中没有标签。我继续前进并忽略了这一点。

我按照教程中的操作并将其放在我的 /home/user/public_html 中。但是现在当我运行它时,不会解释 php 代码

如果我 a2ensite 默认值,我可以访问设置在 /var/www/html 的虚拟主机,并且该 php 被解释

没有错误只是没有解释php,我在这里做错了什么。

我在用着:

编辑:我的“TestPhp.conf”文件:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /home/jelly/public_html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

编辑 2 并回答:

结果是我的“php7.2.conf”文件中的一些行必须被注释掉,因为该文件中注释掉的行解释了。因为默认情况下禁用在用户目录中运行 PHP 脚本。

标签: phpapacheubuntunetbeans

解决方案


你的测试脚本是什么样的?如果您从<?尝试开始<?php

还要检查 php.ini expose_php = false(可能隐藏 php 形式的标题)

如果错误仍然存​​在,请在 http.log 中包含您的配置和测试脚本以及任何错误

您需要找到一个启用 php 的配置文件

我只有一个 Ubuntu,与您的相比,我安装的文件可能有所不同:

启用 PHP 引擎 [php.load]

这是加载 PHP 解释器的部分,并允许您使用 php 脚本

LoadModule php5_module /usr/lib/apache2/modules/libphp5.so

启用 .php 文件定向到 php [php5.conf]

这是告诉 apache 向 php 解释器发送 *.php(在这种情况下还有一些其他扩展名,如 *.phtml)的部分

<FilesMatch ".+\.ph(p[345]?|t|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch ".+\.phps$">
    SetHandler application/x-httpd-php-source
    # Deny access to raw php sources by default
    # To re-enable it's recommended to enable access to the files
    # only in specific virtual host or directory
    Require all denied
</FilesMatch>
# Deny access to files without filename (e.g. '.php')
<FilesMatch "^\.ph(p[345]?|t|tml|ps)$">
    Require all denied
</FilesMatch>

编辑我注意到你也在 UBUNTU

在列表中使用sudo a2enmod并选择 php

编辑 2

请注意,如果您遵循一般指南而不是特定于 UBUNTU 的指南,您可能会遇到几个问题,因为 UBUNTU apache 配置分布在多个文件中,而不是一个大文件,这是您在其他发行版中可能遇到的


推荐阅读