我的知识记录

PHP 500_php.ini与伪静态

很多站长遇到 PHP 500直接 chmod -R 777,网站能跑了但安全风险极大。777意味着任何用户都能读写执行,黑客可以往网站目录写 webshell。正确做法是目录755、文件644、需要写入的目录755(属主正确即可写),最多给775(组可写)。

属主问题:Web 进程以 www/nginx/apache 用户运行,文件属主要和运行用户一致,否则 PHP 无法读写。chown -R www:www 网站目录。虚拟主机共享环境属主由系统管理,用户主要关注权限位。属主错误会导致上传失败、缓存写不了、session 存不了。

参考(权限与配置命令): ``` # 批量修复权限 find /www/wwwroot/域名 -type d -exec chmod 755 {} ; find /www/wwwroot/域名 -type f -exec chmod 644 {} ; chown -R www:www /www/wwwroot/域名

# 写入目录给可写权限 chmod -R 755 /www/wwwroot/域名/upload chmod -R 755 /www/wwwroot/域名/runtime

# Nginx配置检测与重载 nginx -t nginx -s reload

# Apache配置检测与重载 apachectl configtest systemctl reload httpd

# PHP配置检测 php -l /path/to/file.php php -i | grep "upload_max_filesize"

# PHP-FPM重载 systemctl reload php-fpm

# .user.ini示例 cat > /www/wwwroot/域名/.user.ini << 'EOF' upload_max_filesize = 50M post_max_size = 55M max_execution_time = 300 memory_limit = 256M date.timezone = PRC EOF ```

配置变更流程:备份原配置文件 → 修改 → 语法检测(nginx -t、apachectl configtest、php -l)→ 重载服务(systemctl reload)→ 测试。变更前备份是回滚的保障,语法检测防止配置错导致服务起不来。生产环境变更要谨慎。

Apache 配置检测:apachectl configtest 或 httpd -t 检测语法,systemctl reload httpd 重载。.htaccess 不需要重启但语法错会500。主配置在 /etc/httpd/conf/httpd.conf,虚拟主机在 /etc/httpd/conf.d/。

PHP 500_php.ini与伪静态

标签:

更新时间:2026-08-26 20:19:57

上一篇:虚拟主机文件空间_缓存文件空间异常实操

下一篇:FileZilla上传网站程序速度慢解决办法_FileZilla上传网站程序教程详解