TP5.0项目上线遇到的问题

一、项目上线后出现500的错误

项目环境:Ubuntu + Nginx + MySQL + PHP

  1. 将项目文件的所有权限都打开
  2. 进入 /usr/local/nginx/conf/vhost 目录,编辑文件,在 server 下加入一下代码:
location / {
   if (!-e $request_filename) {
   	rewrite  ^(.*)$  /index.php?s=/$1  last;
       break;
    }
}
location ~ \.php$ {
   fastcgi_pass   127.0.0.1:9000;
   fastcgi_index  index.php;
   include        fastcgi.conf;
}
  1. 重启 Nginx (nginx -s reload)
  2. 访问域名,看网站是否能够正常访问

如果网站仍不能访问

  1. 将以下代码加入入口文件的最上边
  2. 域名访问查看报错信息,报错信息如下:
  3. 分析原因可知,是php open_basedir 配置的问题,php不能引入其授权目录上级及其以上的文件
  4. 找到目录 /usr/local/nginx/conf 下的 fastcgi.conf 文件进行编辑
  5. 找到
 fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";

将其替换为

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

$document_root为网站所在目录
8. 访问域名,看网站是否能够正常访问

二、解决 Navicat 无法连接远程服务器上数据库的问题
在远程服务器的数据库命令行中输入以下命令:

grant all on *.*  to 'root'@'IP'  identified by 'password';

其中,IP 为本地IP,password为访问的远程数据库的密码
在这里插入图片描述

三、TP项目,首页可以访问,访问其他页面则出现“No input file specified”的提示
原因在于使用的PHP是fast_cgi模式,某些情况下,不能正确识别path_info所造成的错误
1、找到/public目录下的.htaccess
2、第七行,默认如下:

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

3、修改为:

RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]

猜你喜欢

转载自blog.csdn.net/weixin_43206190/article/details/86063953