apache目录设置777权限后,仍然无法创建文件 日期:2024-08-29 分类:90 人气:368 今天服务器宕机,重启之后系统无法访问了,查看错误信息感到非常奇怪: ### 无法创建文件 之前系统都是配置好的,都设置了正确的权限,怎么重启之后就不行了?然后设置为777,仍然无效,一怒之下开始各种搜素,结果发现是防火墙开启了,晕... 废话少说,原因是`SELinux`阻止了`apache`写权限,解决办法 ``` chcon -R -t httpd_sys_content_rw_t <文件路径> ``` ### 关闭pcre.jit 然后继续访问仍然报错 ``` preg_replace(): Allocation of JIT memory failed, PCRE JIT will be disabled. This is likely caused by security restrictions. Either grant PHP permission to allocate executable memory, or set pcre.jit=0 ``` 这是php的错误,打开配置文件,关闭pcre.jit ### 无法访问远程数据库 之前是可以访问的,而且通过navicat也可以访问,确定不是远程数据库的问题,那就是这台服务器的问题 开放3306端口 ``` firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload firewall-cmd --list-ports ``` 然而还是不行,经过多方调查,最终发现是SELinux阻止了apache访问数据库,特别感谢`Stack Overflow`,解决办法如下: ``` setsebool httpd_can_network_connect_db 1 ``` ### 鸣谢 - [csdn**84313520**](https://blog.csdn.net/qq_32372113/article/details/80688759) - [csdn**foolraty**](https://blog.csdn.net/foolraty/article/details/84859625) - [腾讯云](https://cloud.tencent.com/developer/ask/sof/1155985) 标签: SELinux apache 上一篇:七棵菜表单快速开发平台二次开发步骤 下一篇:postcss-import: @charset must precede all other statements 随便看看 2022-11-30 配置apache, nginx 支持 angular2+ 等单网页项目路由刷新 2023-08-16 nginx配置angular项目部署在项目子目录 2022-11-30 设置 .gitignore 不忽略文件夹的规则 2022-11-30 git查看某文件最近的修改内容 2022-11-30 实现 git 切换分支后代码互不影响 留言