分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

Vagrant搭建虚拟化开发环境(四)PHP框架配置

发布时间:2023-09-06 02:32责任编辑:傅花花关键词:PHP配置

本篇开启PHP框架配置(以ThinkPHP5为例)

上一篇文章地址:https://www.cnblogs.com/phperpxy/p/10338427.html

配置nginx虚拟主机

cd /etc/nginx/conf.d #nginx存放虚拟主机配置文件的地方sudo touch tp5.conf ?#新建一个配置文件sudo vim tp5.conf ???#编辑sudo service nginx restart #重启nginx

首先说明下我配置的共享目录是挂载到这个目录下的/home/www/;下面配置文件有些注释 不要把注释复制进去了

server{ ??server_name tp5.aaa.com; ???#指定一个访问域名 ???????????????????root /home/www/tp5/public;  #指定Web运行目录,tp5入口文件是在public目录下面 ??index index.php index.html;  #默认访问的文件 ??location / {            #下面这一段是将请求转发,所有的文件都转发到index.php,因为PHP的框架基本上是单一入口 ???if ( -f $request_filename ){ ??????break; ???} ???if ( !-e $request_filename ){ ??????rewrite ^/(.*)$ /index.php/$1 last; ??????break; ???} ??} ??location ~ \.php {      #下面这一段是配置PATH_INFO方式访问,通过传递一个变量来给框架解析 比如通过article/id/1 这样路径得到文章id ???????set $script $uri; ???????????set $path_info ""; ???????????if ($uri ~ "^(.+\.php)(/.+)") { ???????????????set $script $1; ???????????????set $path_info $2; ???????????} ???????????include ??fastcgi_params; ???????????fastcgi_index ???index.php?IF_REWRITE=1; #隐藏入口文件index.php ???????????fastcgi_pass ????127.0.0.1:9000; ???????????fastcgi_param ???PATH_INFO ???$path_info; ???????????fastcgi_param ???SCRIPT_FILENAME ???$document_root$fastcgi_script_name; ???????????fastcgi_param ???SCRIPT_NAME ???$script; ???????????try_files $uri =404; ??}}

编辑本机的hosts文件,添加一行,我是Win7系统这个文件的位置C:\Windows\System32\drivers\etc

192.168.33.10 ??tp5.aaa.com

直接访问会出现502错误

#支持nginx fastcgi
sudo apt-get install php5-cgi php5-fpm
#监听方式修改成9000端口默认sock模式
cd /etc/php5/fpm/pool.d/
vim www.conf
#找到下面这行将注释掉;代表注释,在添加一行后保存退出;listen = /var/run/php5-fpm.socklisten = 127.0.0.1:9000
#上面的东西具体含义是修改php-fpm监听方式,之前的方式不稳定
#科普下nginx没有处理php文件的能力,它会把php的文件转发到php-fpm处理,处理完在返回给nginx
sudo service php5-fpm restart ?#重启php-fpm 

再次访问OK

配置Apache虚拟主机

cd /etc/apache2/sites-enabled/ ?#apache配置文件目录sudo touch tp5.conf #新建一个配置文件sudo vim apache2.conf ?#修改apache配置文件sudo service apache2 restart #重启

配置如下

<VirtualHost *:8888>    #监听端口 ???????ServerName tp5.aaa.com ??#访问域名 ???????DocumentRoot /home/www/tp5/public ?#web运行目录 ???????ErrorLog ${APACHE_LOG_DIR}/error.log ????#错误日志文件位置 ???????CustomLog ${APACHE_LOG_DIR}/access.log combined #访问日志</VirtualHost>

Apache默认也是无法处理php文件,它需要一个模块支持

#安装支持apache2的php模块sudo apt-get install libapache2-mod-php5#开启rewrite功能--隐藏入口文件--apache隐藏路口文件是通过重写。htaccess文件,具体看tp5手册 搜索URL重写sudo a2enmod rewrite 

这时候访问会出现403错误,403一般是拒绝访问

#编辑配置文件
cd /etc/apache2vim apache2.conf
#找到下面这行东西<Directory /> ???????Options FollowSymLinks ???????AllowOverride None #修改成AllowOverride ALL ???????#Require all denied #把这行屏蔽掉,拒绝一切链接</Directory>
#保存重启apache

这时候访问http://tp5.aaa.com:8888  OK 大功告成!

Vagrant搭建虚拟化开发环境(四)PHP框架配置

原文地址:https://www.cnblogs.com/phperpxy/p/10338940.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved