一、当出现报错:Warning: require(): open_basedir restriction in effect. File(/www/wwwroot/www.ec ..... 等 或者页面直接空白的时候,解决办法(以下方法二选一即可):
方法1:修改php.ini
//该值等于你项目所在的根目录,修改后重启PHP
open_basedir = /www/wwwroot;
如果没有可以增加该项,请注意:如果您配置该项,那么 upload_tmp_dir 设置的路径必须为 open_basedir 指向的目录下,要不文件上传时会报错“server”。可以为下面路径:
upload_tmp_dir = /www/wwwroot/tmp;
修改后,如下图所示:
方法2(必须是宝塔搭建的环境): 取消勾选 “ 防跨站攻击(open_basedir)”,如下图所示
二、如果打开页面出现以下报错,说明的是伪静态的问题
解决方法:
方法一:修改伪静态,增加下面代码。
location /admin {
try_files $uri $uri/ /admin/index.php$is_args$args;
}
location /home {
try_files $uri $uri/ /home/index.php$is_args$args;
}
location /mob {
try_files $uri $uri/ /mob/index.php$is_args$args;
}
location /install {
try_files $uri $uri/ /install/index.php$is_args$args;
}
location /api {
try_files $uri $uri/ /api/index.php$is_args$args;
}
location /h5 {
try_files $uri $uri/ /h5/index.html;
}
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
宝塔例子如下(网站管理-)设置-》伪静态。添加后无需重启):
三、 报错:session_start():Failed to initialize storage module 该问题主要是网站访问用户不是root导致
解决办法:
//修改php.ini
session.save_path = /tmp
注意的点:不同的服务器,这个目录是不同的,请确保目录存在,且(当前访问用户)具有写入/修改权限,有些web服务器,这个参数直接就是空值的,或者注释掉的,请自行修正。
另:在php.ini里的配置session.save_path是注释掉的,那么Seesion保存的路径在不同类型操作系统一般是在如下所示(也可以自己新建路径)
Linux:/tmp 或 /var/lib/php/session 或 www/server/tmp
Windows:C:\WINDOWS\Temp
四、避免不必要的 stat() 系统调用
//php.ini 文件中设置
cgi.fix_pathinfo=0
五、运行的是 HTTPS 服务器时
//php.ini 添加
fastcgi_param HTTPS on;