我正在遵循此netbean指南https://netbeans.org/kb/docs/php/configure-php-environment-ubuntu.html#createDocumentRootLocation
但是我一直坚持创建虚拟主机。我尝试按照教程中的方法进行操作,但“ 000-default.conf”文件中没有<Directory>
标记。我一直走,忽略了这一点。
我按照本教程中的说明进行操作,并将其放在我的/ home / user / public_html中。但是现在当我运行它时,不会解释php代码
如果我a2ensite默认,我可以访问/ var / www / html上设置的虚拟主机,并且该php被解释
没有错误的PHP只是没有被解释,我在这里做错了。
我在用着:
Ubuntu 18.10 LTS
PHP 7.2.10-0ubuntu1(cli)
阿帕奇/2.4.34
编辑:
我的“ 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脚本。
最佳答案
您的测试脚本是什么样的?如果以<?
开头,请尝试使用<?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(以及本例中的其他扩展名,例如* .phtml)发送到php解释器的部分
<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配置分散在多个文件中,而不是一个大文件,这在其他发行版中可能会遇到
关于php - Netbeans灯PHP解释器不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52929299/