Apache2返回php源代码
Ubuntu 12.04 安装了Apache2Apache2返回php源代码,php,apache,ubuntu,apache2,Php,Apache,Ubuntu,Apache2,Ubuntu 12.04 安装了Apache2 # apache2 -v Server version: Apache/2.2.22 (Ubuntu) Server built: Mar 19 2014 21:11:49 # php --version PHP 5.4.6-1ubuntu1.8 (cli) (built: Apr 4 2014 01:28:36) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyr
# apache2 -v
Server version: Apache/2.2.22 (Ubuntu)
Server built: Mar 19 2014 21:11:49
# php --version
PHP 5.4.6-1ubuntu1.8 (cli) (built: Apr 4 2014 01:28:36)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
安装了PHP
# apache2 -v
Server version: Apache/2.2.22 (Ubuntu)
Server built: Mar 19 2014 21:11:49
# php --version
PHP 5.4.6-1ubuntu1.8 (cli) (built: Apr 4 2014 01:28:36)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
PHP模块已安装并启用
# a2enmod php5
Module php5 already enabled
php5.conf包含SetHandler指令
<IfModule mod_php5.c>
<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
Order Deny,Allow
Deny from all
</FilesMatch>
# Deny access to files without filename (e.g. '.php')
<FilesMatch "^\.ph(p[345]?|t|tml|ps)$">
Order Deny,Allow
Deny from all
</FilesMatch>
# Running PHP scripts in user directories is disabled by default
#
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_value engine Off
</Directory>
</IfModule>
</IfModule>
SetHandler应用程序/x-httpd-php
SetHandler应用程序/x-httpd-php-source
#默认情况下拒绝访问原始php源代码
#要重新启用,建议启用对文件的访问
#仅在特定虚拟主机或目录中
命令拒绝,允许
全盘否定
#拒绝访问没有文件名的文件(例如.php)
命令拒绝,允许
全盘否定
#默认情况下,在用户目录中运行PHP脚本是禁用的
#
#要在用户目录中重新启用PHP,请注释以下行
#(从到)不要将其设置为打开,因为
#防止.htaccess文件禁用它。
php_管理_值引擎关闭
但是我的文件是/var/www/wwuser/data/domain.com/info.php
<?php phpinfo(); ?>
未执行-返回其源代码。为什么?这个问题已经问了一年了,可能已经太迟了,但是没有公认的答案,我是从谷歌无意中找到的。我正在处理一个非常类似的问题,也许我的解决方案对将来的某个人有用:
PHP.ini
中有一个PHP指令:
short_open_tag = Off
如果这是Off
,那么PHP将忽略
标记,因为它需要
所以在我的例子中,问题是我的测试脚本:
<? phpinfo(); ?>
解决方案是将标签更改为
尝试sudo apt get install libapache2-mod-php7.2&&sudo服务apache2重启
您可能有另一个版本的php,请参考您的php版本。为我工作,zend跑得很好。希望他们能帮上忙。@Idris我已经在谷歌上搜索过了。未成功。您使用哪个URL访问该文件?是否定义了可能干扰模块定义的虚拟主机?@TeTeT我用于访问该文件。其他虚拟主机是通过与它们没有碰撞而存在的。这个答案是一个救命稻草,我从来没有想到过。在上下文中,他们在Ubuntu 12.04和14.04之间将其默认值从On改为Off。请注意,由于RFC()在PHP8.0中不推荐使用短标记,因此强烈建议不要再使用短标记,并将在PHP9.0中删除。