环境搭建(ubuntu/php7/nginx/mysql/thinkphp5)
使用的是阿里云的服务器,预装ubuntu。

安装 php7/nginx/mysql

我安装php的时候把apache2也装上了,因为平时用nginx比较多,所以把apache服务停了

装完以后就开始出各种问题,花了不少时间,现在这里记录下:

1.nginx服务无法启动

检查下是不是启动了apache2占用了nginx的端口导致nginx无法启动或者配置文件错误,如果只装了其中一个的话一般不会出现这个问题。

2.访问提示Access Denied

如果你使用apache2服务,有可能出现这个问题,原因是你的web目录不在apache2默认的目录下。apache2默认web目录在/var/www

apache2配置文件路径:/etc/apache2/sites-enabled/000-default.conf

nginx配置文件路径:/etc/nginx/sites-enabled/default

3.访问php文件返回空白页

这里我用的是nginx,出现空白页多半是因为fastcgi路径没有配对,导致php解析出错。修改nginx配置文件中的 fastcgi_pass参数,填上你自己的路径。

4.访问php文件返回No input file specified

这个问题也是因为nginx的配置错误,需要注意的几个参数有:

fastcgi_param SCRIPT_FILENAME

fastcgi_pass

index

root

这里都要根据自己的目录结构做相应调整,另外所有配置文件中的include项都要检查下有没有填写正确路径

这里贴出我的nginx配置:

到这里php环境应该就没什么问题了,接下来将thinkphp5传到服务器上。

我放在了/var/www/thinkphp/

那么我的网站根目录就应该设置为 /var/www/thinkphp/tp5/public

重启下nginx

访问 http://xxx/index.php 应该能返回正常结果了。

5.入口文件请求正常,进到方法里返回500错误

这里就要打开php的调试信息和tp5的报错信息来分析是什么原因了。

6.查询数据库报错:could not find driver

需要安装php-mysql

7.上传文件时提示没有权限mkdir() Permission denied

将web目录下的文件所有者设置为www-data,权限设置为777,thinkphp/tp5/runtime也要设置为777,upload文件夹设置为755

目前碰到的坑就这些了。