权限配置_php错误排查
php错误时分清是文件系统权限还是 PHP 配置限制。文件系统权限用 chmod/chown;PHP 限制用 open_basedir(限制可访问目录)、disable_functions(禁用危险函数)、allow_url_fopen 等。PHP 报"Permission denied"是文件系统权限,报"open_basedir restriction"是 PHP 配置。
php.ini 配置:upload_max_filesize 上传大小、post_max_size POST 大小、max_execution_time 执行时间、memory_limit 内存、display_errors 错误显示、error_reporting 错误级别、date.timezone 时区、open_basedir 目录限制、disable_functions 禁用函数。虚拟主机在面板 PHP 设置里改,或用 .user.ini(Nginx+PHP-FPM)。
参考(权限与配置命令): ``` # 批量修复权限 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 ```
配置安全:php.ini 关闭 display_errors(生产环境)、开启 log_errors、设置 open_basedir 限制到网站目录、disable_functions 禁用 exec/system/passthru/shell_exec 等危险函数、expose_php = Off 隐藏版本。配置加固后网站被入侵的概率降低60%。
.user.ini 使用:Nginx+PHP-FPM 环境下,网站根目录放 .user.ini 文件覆盖 php.ini 配置。格式和 php.ini 一样(upload_max_filesize=50M)。修改后等5分钟生效(PHP 缓存 .user.ini),或重启 PHP-FPM 立即生效。.user.ini 权限设644。

更新时间:2026-08-30 16:58:55
上一篇:网站网站有漏洞_安全加固