Ubuntu Apache vhost不执行php小记
运行环境:
Ubuntu : 16.04
PHP: 5.6.36
Apache: 2.4.18
出现/var/www/html
文件夹下的 php文件能够执行
vhost 配置文件的DocumentRoot
的路径格式是/home/USERNAME/public_html
的,访问时,输出 php源码或者下载php文件
解决方法:
- 不使用
/home/USERNAME/public_html
这样的格式,改为如:/home/USERNAME/www
这样格式 - 修改
/etc/apache2/mods-available/php5.6.conf
文件,使用#
号注释掉从<IfModule ...> 到 </IfModule>
的行数
最后重启 apache
原因是: /etc/apache2/mods-available/php5.6.conf
文件有一段内容是:
# 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_flag engine Off
</Directory>
</IfModule>
我自己对上面注释的翻译
# 在用户的目录中运行php脚本是默认禁止的
#
# 为了在用户的目录重新启用php 注释以下行
# (从 <IfModule ...> 到 </IfModule>.) 不要将它设置为 On
# 预防 .htaccess 文件来禁止它
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>
在 /etc/apache2/sites-available
文件夹下添加了一个 www.test.com.conf
的vhost文件
<VirtualHost *:80>
ServerName www.test.com
ServerAlias www.test.com test.com
DocumentRoot /home/test/public_html
<Directory /home/test/public_html>
Options FollowSymLinks MultiViews
AllowOverride All
Require all granted
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/domain/www.test.com.error.log
CustomLog /var/log/apache2/domain/www.test.comaccess.log combined
</VirtualHost>
在 /home/test/public_html/
下有一个 info.php
文件
<?php
phpinfo();
访问 http://www.test.com/info.php 的时候,却显示出 php 源码,没有执行 php
后来将 vhost配置文件中的/home/test/public_html
中的public_html
改为为www
,对应的文件夹重命名
mv /home/test/public_html /home/test/www
修改之后,/etc/apache2/sites-available/www.test.com.conf
文件的内容是
<VirtualHost *:80>
ServerName www.test.com
ServerAlias www.test.com test.com
# only replace public_html to www
DocumentRoot /home/test/www
<Directory /home/test/www>
Options FollowSymLinks MultiViews
AllowOverride All
Require all granted
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/domain/www.test.com.error.log
CustomLog /var/log/apache2/domain/www.test.comaccess.log combined
</VirtualHost>
然后重启 apache
sudo service apache2 restart
然后再试访问 http://www.test.com/info.php 就输出 php信息了
Ubuntu Apache vhost不执行php小记的更多相关文章
- Ubuntu 解决:当执行`sudo apt-get update`命令时 出现的 “apt-get 404 Not Found Package Repository Errors” 问题
Ubuntu 解决:当执行sudo apt-get update或者sudo apt-get install命令是出现的 "apt-get 404 Not Found Package Rep ...
- Ubuntu+Apache+PHP+Mysql环境搭建(完整版)
Ubuntu+Apache+PHP+Mysql环境搭建(完整版) 一.操作系统Ubuntu 14.04 64位,阿里云服务器 二.Apache 1.安装Apache,安装命令:sudo apt-get ...
- Ubuntu+Apache+PHP+Mysql环境搭建(完整版)(转)
http://www.2cto.com/os/201505/401588.html Ubuntu+Apache+PHP+Mysql环境搭建(完整版) 一.操作系统Ubuntu 14.04 64位,阿里 ...
- ubuntu apache svn 参考
Ubuntu下Subversion服务器的安装配置 本文涉及的范围 要通过 HTTP 协议访问 Subversion 文件仓库,需要安装并配置好 Web 服务器.Apache2 被证实可以很好 ...
- ubuntu apache nginx 启动 关闭
转载自:http://www.comflag.com/2011/05/01/apache-web.htm 电影<社交网络>中,facebook创始人马克.扎克失恋后入侵哈佛大学宿舍楼服务器 ...
- 什么是伪静态,以及ubuntu + apache 如何实现伪静态
原文链接:http://www.cnblogs.com/ainiaa/archive/2010/07/25/1784564.html php伪静态 一直在做php的开发工作.在开发的过程中老早就听说了 ...
- Ubuntu 16.04应用布署小记
本系列文章记录了升级Ubuntu 16.04的布署过程 回到目录 10. Dokuwiki 将虚拟目录配置文件链接到Apache2的可用的配置文件库中 sudo ln -s /opt/dokuwiki ...
- Ubuntu 16.04环境布署小记
本系列文章记录了升级Ubuntu 16.04的布署过程 回到目录 10. 安装Mono, Xsp 当前版本16.04.1的系统源的Mono版本为4.2.1,如需使用最新版本(本文书写时稳定版本为4.6 ...
- Ubuntu+Apache+PHP+Mysql环境搭建
一.操作系统Ubuntu 14.04 64位,虚拟机服务器 二.Apache 1.安装Apache,安装命令:sudo apt-get install apache2 2.环境配置: 1)配置文件:路 ...
随机推荐
- 7_springboot2.x开发热部署
概述:在开发中我们修改一个Java文件后想看到效果不得不重启应用,这导致大量时间花费,我们希望不重启应用的情况下,程序可以自动部署(热部署).有以下四种情况,如何能实现热部署. 1.模板引擎 在Spr ...
- 注册页面-使用form模块搭建
基于Django的form模块,快速的搭建注册页面,每个限制条件,都放在form模块里面,不单独对每一项编写标签,使用模版的 for 循环来渲染. 首先设置form模块 在blogs模块下创建一个bl ...
- LCA的RMQ求法
参考博客 仔细想一想:最近的公共祖先,其实,搜索时回朔,连通这两点,那深度最低肯定是最近的公共祖先啊. 那这样就可以变成RMQ问题了. #include<stdio.h> #include ...
- JVM调优参数设置?
-Xms20M 表示设置堆容量的最小值为20M,必须以M为单位 -Xmx20M 表示设置堆容量的最大值为20M,必须以M为单位.将-Xmx和-Xms设置为一样可以避免堆自动扩展.大的项目-Xmx和-X ...
- 借用数组对象的prototype给数组扩充降维方法
原理:只要是一个对象,他都有一个prototype原型对象,保存共有的属性和方法. <!DOCTYPE html> <html lang="en"> < ...
- PL SQL 存储过程 SQL SERVER创建存储过程及调用,Oracle创建存储过程及调用
Oracle使用存储过程实例: 例1: //查出表字段赋值给存储过程变量 create proc proc_stu @sname varchar(20), //默认是输入参数(input),另外还有两 ...
- cmake -help
{ Usage cmake [options] <path-to-source> cmake [options] <path-to-existing-build> Speci ...
- JavaScript做个时间表 Date()
<span id="shiji"></span><script> window.setInterval("time()",5 ...
- 【重磅来袭】阿里小程序IDE上线8大功能
时隔两个月,10月10日阿里小程序IDE上线了uni-app 跨平台研发支持.预览和真机调试交互优化.预检测新增代码扫描等8项功能,进一步完善了阿里小程序IDE的功能池,给大家更好的开发体验和环境. ...
- 作为互联网流量入口,CDN日志大数据你该怎么玩?
CDN是非常重要的互联网基础设施,用户可以通过CDN,快速的访问网络中各种图片,视频等资源.在访问过程中,CDN会产生大量的日志数据,而随着如今越来越复杂的网络环境变化,和业务的迅速增长,日志数据变得 ...