linux,lnmp5环境安装tp5

git clone https://github.com/top-think/think tp5
cd tp5 && checkout master
git clone https://github.com/top-think/framework thinkphp
cd thinkphp && checkout master
此时正常情况下可访问。
若访问不了,先检查权限
1.开启config.php debug为true;
2.在入口文件index.php 中,
error_reporting(E_ALL);
ini_set('display_errors', '1');
3.查看/home/wwwlogs目录下的nginx_error.log错误信息;
4.首页可访问,pathinfo 的url(IP/index.php/model/controller/action)访问报错,
  pathinfo兼容问题,而IP/index.php?s=/model/controller/action 可访问
  解决:https://blog.csdn.net/xysoul/article/details/79491597
  apache环境 .htaccess 
  
	Options +FollowSymlinks -Multiviews
	RewriteEngine on
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]
  
  nginx环境 conf/nginx.conf
  location ~ \.php {    #去掉$
         root          H:/PHPServer/WWW;  笔者这里默认是 html;
         fastcgi_pass   127.0.0.1:9000;
         fastcgi_index  index.php;
         fastcgi_split_path_info ^(.+\.php)(.*)$;       #增加
         fastcgi_param PATH_INFO $fastcgi_path_info;    #增加
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         include        fastcgi_params;
    }
  https://blog.csdn.net/woshihaiyong168/article/details/54973353
 
  若是一键安装包lnmp
	原因:无法加载pathinfo
	解决办法:
	在nginx.conf(/usr/local/nginx/conf)中,
	将原先的‘include enable-php.conf’注释掉,
	更改为‘include enable-php-pathinfo.conf;’后重启nginx即可。  

5.若出现open_basedir权限问题,php授权目录设置
vim /usr/local/nginx/conf/fastcgi.conf
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
修改为
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/../:/tmp/:/proc/";

若再不行,尝试以下方法:
在php.ini中配置
;open_basedir =
如果发现配置项前是有分号,表明php.ini中没有该设置。那就很可能是在  php-fpm  中的 fastcgi.conf中配置了。php-fpm中的配置会覆盖php.ini的配置。

在项目根目录中通过  .user.ini 进行配置。
.user.ini配置
首先,要使.user.ini生效,要设置php.ini 中的
user_ini.filename = ".user.ini"
user_ini.cache_ttl = 300

注释掉 fastcgi.conf 中的 open_basedir  的配置。

在项目根目录 创建 .user.ini文件,写入如下内容
open_basedir=/tmp/:/proc/:/you_web_path
/you_web_path 是你要添加的让php可以访问的路径。多个路径直接分号隔开
重启一下php-fpm 服务即可。

注意,三个地方配置的优先级如下
“php.ini” > “nginx fastcgi fastcgi_param” > “php-fpm.conf”

来自:https://www.cnblogs.com/guohong-hu/p/9350076.html

隐藏index.php
apache :

  Options +FollowSymlinks -Multiviews
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]


nginx :
location / {
            if (!-e $request_filename) {
                rewrite  ^(.*)$  /index.php?s=/$1  last;
            }
    }
具体参考:
https://www.cnblogs.com/blibli/p/11134157.html

 

你可能感兴趣的:(Thinkphp)