借一步网
作者:
在
遇到的错误提示如下:
GET https://jieyibu.net/wp-admin/load-styles.php?... net::ERR_ABORTED 500 (Internal Server Error)
这说明 WordPress 在尝试加载后台样式文件(CSS)的时候,load-styles.php 脚本返回了一个 500 服务器内部错误。这通常不是 JavaScript 层面的错误,而是后端 PHP 脚本执行失败了。
load-styles.php
wp-admin
wp_enqueue_style('wp-patter')
在 wp-config.php 添加或修改以下内容:
wp-config.php
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);
然后访问 wp-admin/post-new.php,再查看 wp-content/debug.log 文件,里面会记录具体的 PHP 错误信息。
wp-admin/post-new.php
wp-content/debug.log
尝试访问以下地址看看报错详情:
https://jieyibu.net/wp-admin/load-styles.php?c=0
如果仍然是 500 错误,说明 PHP 脚本出错了,可以结合 debug.log 查看原因。
debug.log
在插件或主题中注册样式时避免错误:
// 错误:'wp-patter' 应为 'wp-patterns' wp_enqueue_style('wp-patter'); // ❌ 拼写错误
推荐做法:
wp_enqueue_style('wp-block-library'); // ✅ 正确的核心样式
如果你有服务器权限,查看 Apache 或 Nginx 的错误日志:
/var/log/apache2/error.log
/var/log/nginx/error.log
查看最近是否有 PHP Fatal error 或 memory exhausted 报错。
PHP Fatal error
memory exhausted
你可以临时关闭合并样式功能:
add_filter('style_loader_src', function (src); }, 9999);
或在 URL 中将 c=1 改为 c=0(不合并 CSS),方便调试。
c=1
c=0
500 Internal Server Error
wp_enqueue_style()
php.ini
memory_limit
256M
要在 WordPress 中永久关闭后台和前台的合并样式(load-styles.php 的合并行为),可以通过向 functions.php 添加钩子来实现。
functions.php
WordPress 使用 SCRIPT_DEBUG 常量来决定是否加载合并的脚本/样式(如 load-styles.php 和 load-scripts.php)。
SCRIPT_DEBUG
load-scripts.php
你可以通过两种方式永久关闭合并样式功能。
这是最推荐和安全的方法:
define('SCRIPT_DEBUG', true);
添加位置建议:在 wp-config.php 中,放在 /* That's all, stop editing! Happy publishing. */ 之前。
/* That's all, stop editing! Happy publishing. */
define('WP_DEBUG', false); define('SCRIPT_DEBUG', true); // 强制加载未压缩、不合并的样式和脚本
如果你不想依赖 SCRIPT_DEBUG,可以在你的主题或插件中添加以下代码:
add_filter('style_loader_src', function (src); }, 9999); add_filter('script_loader_src', function (src); }, 9999);
⚠️ 这段代码不会阻止合并本身,但会移除 ver 参数,有时可避免缓存或请求错误。若要彻底控制是否合并,建议使用 SCRIPT_DEBUG。
ver
true
在 wp-config.php 中使用以下设置:
define('WP_DEBUG', true); // 开启调试模式 define('WP_DEBUG_LOG', true); // 将错误写入 debug.log define('WP_DEBUG_DISPLAY', false); // 不在页面上显示错误 define('SCRIPT_DEBUG', true); // 禁用合并样式和脚本,加载未压缩版本
如果你只想在用户访问 WordPress 后台(/wp-admin/)时禁用合并样式和脚本(即禁用 load-styles.php 和 load-scripts.php 的合并行为),推荐使用 SCRIPT_DEBUG 并通过条件判断后台环境来动态启用它。
/wp-admin/
将以下代码添加到你的主题的 functions.php 文件中,或放入你自己开发的插件中:
add_action('init', function () { if (is_admin()) { if (!defined('SCRIPT_DEBUG')) { define('SCRIPT_DEBUG', true); } } });
is_admin()
!defined()
如果你只想让管理员用户在后台禁用合并样式和脚本,可以使用:
add_action('init', function () { if (is_admin() && current_user_can('manage_options')) { if (!defined('SCRIPT_DEBUG')) { define('SCRIPT_DEBUG', true); } } });
要发表评论,您必须先登录。
遇到的错误提示如下:
这说明 WordPress 在尝试加载后台样式文件(CSS)的时候,
load-styles.php
脚本返回了一个 500 服务器内部错误。这通常不是 JavaScript 层面的错误,而是后端 PHP 脚本执行失败了。🔍 可能原因分析
🔧 1. PHP 执行错误或内存不足
wp-admin
样式文件时报错。🔧 2. 某个插件或主题注册了不存在的样式句柄
wp_enqueue_style('wp-patter')
这样的拼写错误。load-styles.php
会尝试合并这些样式,如果某个句柄无效,可能导致错误。🔧 3. 缓存插件或 CDN 冲突
✅ 修复建议
✅ 1. 开启 WP_DEBUG 查看具体错误
在
wp-config.php
添加或修改以下内容:然后访问
wp-admin/post-new.php
,再查看wp-content/debug.log
文件,里面会记录具体的 PHP 错误信息。✅ 2. 手动检查 load-styles.php 脚本是否可访问
尝试访问以下地址看看报错详情:
如果仍然是 500 错误,说明 PHP 脚本出错了,可以结合
debug.log
查看原因。✅ 3. 逐步排查插件或主题问题
✅ 4. 检查 CSS 资源依赖是否存在拼写错误
在插件或主题中注册样式时避免错误:
推荐做法:
✅ 5. 检查服务器日志
如果你有服务器权限,查看 Apache 或 Nginx 的错误日志:
/var/log/apache2/error.log
/var/log/nginx/error.log
查看最近是否有
PHP Fatal error
或memory exhausted
报错。🧽 临时解决方案(开发环境中使用)
你可以临时关闭合并样式功能:
或在 URL 中将
c=1
改为c=0
(不合并 CSS),方便调试。📌 总结
500 Internal Server Error
debug.log
wp_enqueue_style()
的句柄是否拼写正确php.ini
中memory_limit
,如256M
要在 WordPress 中永久关闭后台和前台的合并样式(load-styles.php 的合并行为),可以通过向
functions.php
添加钩子来实现。✅ 实现方法:禁用 load-styles.php 和 load-scripts.php 的合并
WordPress 使用
SCRIPT_DEBUG
常量来决定是否加载合并的脚本/样式(如load-styles.php
和load-scripts.php
)。你可以通过两种方式永久关闭合并样式功能。
✅ 方法 1:在
wp-config.php
中设置SCRIPT_DEBUG
这是最推荐和安全的方法:
添加位置建议:在
wp-config.php
中,放在/* That's all, stop editing! Happy publishing. */
之前。✅ 方法 2:使用钩子强制加载单独文件
如果你不想依赖
SCRIPT_DEBUG
,可以在你的主题或插件中添加以下代码:⚠️ 这段代码不会阻止合并本身,但会移除
ver
参数,有时可避免缓存或请求错误。若要彻底控制是否合并,建议使用SCRIPT_DEBUG
。💡 为什么
SCRIPT_DEBUG
是推荐做法?SCRIPT_DEBUG
为true
时,会禁用load-styles.php
和load-scripts.php
合并行为,并加载原始文件。✅ 开发环境推荐配置
在
wp-config.php
中使用以下设置:如果你只想在用户访问 WordPress 后台(
/wp-admin/
)时禁用合并样式和脚本(即禁用load-styles.php
和load-scripts.php
的合并行为),推荐使用SCRIPT_DEBUG
并通过条件判断后台环境来动态启用它。✅ 解决方案:仅在后台启用
SCRIPT_DEBUG
将以下代码添加到你的主题的
functions.php
文件中,或放入你自己开发的插件中:🧠 工作原理说明
is_admin()
:只在后台(如wp-admin/post-new.php
)返回true
。SCRIPT_DEBUG
:一旦为true
,WordPress 会停止使用load-scripts.php
和load-styles.php
的合并加载方式,改为加载原始的未压缩文件。!defined()
:避免重复定义SCRIPT_DEBUG
,防止系统报错。✅ 可选增强:只为管理员禁用合并(更细粒度控制)
如果你只想让管理员用户在后台禁用合并样式和脚本,可以使用:
✅ 结果效果
load-styles.php
和load-scripts.php
,性能最佳。