ShopWind系统在Nginx下常见问题及相关配置

乔帮主 发布于 安装使用 2021-10-25 02:01:55

一、当出现报错: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; 

修改后,如下图所示:

attachmentId-253

方法2(必须是宝塔搭建的环境): 取消勾选 “ 防跨站攻击(open_basedir)”,如下图所示

attachmentId-254

二、如果打开页面出现以下报错,说明的是伪静态的问题

attachmentId-255

解决方法:

方法一:修改伪静态,增加下面代码。

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;
} 

宝塔例子如下(网站管理-)设置-》伪静态。添加后无需重启):

attachmentId-256

三、 报错: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; 

attachmentId-257

最后编辑于 2023-09-11 08:37:49
0 4067
Re :

乔帮主 这家伙什么都没留下

  • 回答

    11
  • 发布

    21
  • 经验

    1130

内容精选

联系我们

  • 微信官网

    关注公众号

    系统更新,推送提醒
  • 开发交流群

    技术交流Q群

    安装使用,开发交流

垂询热线:18978189162