php项目部署到lnmp,LNMP1.5 部署 thinkphp项目

> lnmp1.5集成环境下部署thinkphp5.0框架的项目,无法正常访问,访问报404页面等。

![](https://box.kancloud.cn/f158d4e4bc8ee400d101bdebad68baac_671x244.png)

首先tp5的访问目录指向到webroot/public文件夹中。thinkphp的url访问:http:// serverName/ index.php(或者其它应用入口文件)/模块/控制器/操作/\[参数名/参数值...\],这个需要支持pathinfo,Apache默认支持,而Nginx不支持。

### **修改站点配置文件**

> 使用 lnmp1.5一键安装包 添加虚拟机主机会自动生成配置文件

> lnmp1.5的站点配置文件一般在 /usr/local/ngnix/conf/vhost/站点.conf

将项目路径指向public目录,设置PATH_INFO,去掉入口文件,如下

```

server

{

listen 80;

#listen [::]:80;

server_name www.thbuyshop.com thbuyshop.com;

index index.html index.htm index.php default.html default.htm default.php;

root /home/wwwroot/www.thbuyshop.com/public;

include rewrite/other.conf;

#error_page 404 /404.html;

# Deny access to PHP files in specific directory

#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

include enable-php-pathinfo.conf;

#=======================================

# 添加内容部分

#定义变量

set $root /home/wwwroot/www.thbuyshop.com/public;

location ~ [^/]\.php(/|$)

{

try_files $uri =404;

fastcgi_pass unix:/tmp/php-cgi.sock;

fastcgi_index index.php;

#设置PATH_INFO

fastcgi_split_path_info ^((?U).+.php)(/?.+)$;

fastcgi_param PATH_INFO $fastcgi_path_info;

fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;

fastcgi_param SCRIPT_FILENAME $root$fastcgi_script_name;

#引入fastcgi配置

include fastcgi.conf;

}

#从URL中去掉index.php入口文件

location /

{

if (!-e $request_filename) {

rewrite ^(.*)$ /index.php?s=/$1 last;

break;

}

}

#添加内容结束

#===================================

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

{

expires 30d;

}

location ~ .*\.(js|css)?$

{

expires 12h;

}

location ~ /.well-known {

allow all;

}

location ~ /\.

{

deny all;

}

access_log /home/wwwlogs/www.thbuyshop.com.log;

}

```

### **修改 fastcgi.conf 中的配置文件**

```

# 进入 fastcgi.conf 文件目录

cd /usr/local/nginx/conf

# 修改 fastcgi.conf 配置文件

vim fastcgi.conf

# 开放目录访问权限(因为根目录设置到public下导致框架访问上级目录权限不够)

fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/:/tmp/:/proc/";

```

### **修改 php.ini 中的配置文件**

如果以上设置仍未生效,再进行此操作。

```

# 进入 php.ini 文件目录

cd /usr/local/php/etc

# 修改 php.ini 配置文件

vim php.ini

# 修改内容

cgi.fix_pathinfo = 1

```

*****

至此,thinkphp5项目路径访问已经正常,如果网页出现 failed to open stream: No such file or directory in的问题,则可能是项目权限不足。

进入站点根目录 -> 执行:chown -R www:www * 即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值