1) thinkphp上线直接是500错误,可能是lnmp跨域问题导致,lnmp默认不支持跨域,需要咱们自己配置才能使用。
如果你是PHP 5.3.3以上的版本,可以修改/usr/local/php/etc/php.ini在末尾里加入: [HOST=www.vpser.net]
open_basedir=/home/wwwroot/www.vpser.net/:/tmp/
[PATH=/home/wwwroot/www.vpser.net]
open_basedir=/home/wwwroot/www.vpser.net/:/tmp/
2) 权限分组问题
linux命令:
chgrp -R www 文件名夹 -----递归更改所属用户组
chown -R www 文件夹名 ----递归更改拥有者
2)
3.1 /usr/local/nginx/conf/vhost/域名.conf里如图加入public
3.2 lnmp一键包pathinfo的设置
#include enable-php.conf;或者,你直接注释掉这一行,
在下面添加新的一行
include enable-php-pathinfo.conf;
3.3 路由隐藏index.php配置。
添加:
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
上线成功后报出错误:
问题解决办法:
1) Warning: scandir() has been disabled for security reasons
打开php.ini,找到这行:
disable_functions = scandir,passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,
proc_get_statu,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,
readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
去掉scandir,保存并重起php-fpm即可。
在php开发中,遇到的很多函数问题,都有可能是php禁用了,因此,遇到这类问题时,多看看php.ini配置文件中的相关部分。