我的知识记录

权限配置_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。

权限配置_php错误排查

标签:

更新时间:2026-08-30 16:58:55

上一篇:网站网站有漏洞_安全加固

下一篇:Apache屏蔽域名规则不生效排查_Apache IIS屏蔽域名访问教程详解