WAMP - 超过最大执行时间 - 无法再通过 Wordpress 媒体上传上传照片
Posted
技术标签:
【中文标题】WAMP - 超过最大执行时间 - 无法再通过 Wordpress 媒体上传上传照片【英文标题】:WAMP - Maximum execution time exceeded - Can no longer upload photos via Wordpress Media Upload 【发布时间】:2021-11-03 00:09:22 【问题描述】:这是最近引起头痛的问题。
每次我尝试通过媒体上传上传照片时,都会遇到上传栏显示 100%... 一个停顿,然后出现错误说明:
Maximum execution time of 120 seconds exceeded
文件可能很小或很大 - 它甚至不会上传 10kb 的文件。
我的 WP 调试日志指出以下内容:
[05-Sep-2021 16:07:56 UTC] php Fatal error: Maximum execution time of 120 seconds exceeded in C:\wamp64\www\sns\wp-includes\functions.php on line 8051
[05-Sep-2021 16:07:56 UTC] PHP Stack trace:
[05-Sep-2021 16:07:56 UTC] PHP 1. main() C:\wamp64\www\sns\wp-admin\async-upload.php:0
[05-Sep-2021 16:07:56 UTC] PHP 2. wp_ajax_upload_attachment() C:\wamp64\www\sns\wp-admin\async-upload.php:33
[05-Sep-2021 16:07:56 UTC] PHP 3. media_handle_upload() C:\wamp64\www\sns\wp-admin\includes\ajax-actions.php:2549
[05-Sep-2021 16:07:56 UTC] PHP 4. wp_handle_upload() C:\wamp64\www\sns\wp-admin\includes\media.php:303
[05-Sep-2021 16:07:56 UTC] PHP 5. _wp_handle_upload() C:\wamp64\www\sns\wp-admin\includes\file.php:1037
[05-Sep-2021 16:07:56 UTC] PHP 6. clean_dirsize_cache() C:\wamp64\www\sns\wp-admin\includes\file.php:981
我尝试过的:
-
正在重新启动 WAMP 服务器。
升级我的 PHP 版本。
使用不同的主题。
停用所有插件。
可能是原因之一(也是我唯一能想到的另一件事)是我最近安装并设置了 Homestead 和 Vagrant,以便创建一个开始使用 Laravel 进行开发的环境。
这和它有什么关系吗?如果是这样,我从哪里开始?
【问题讨论】:
【参考方案1】:该限制是 PHP.INI 文件的一部分。
WAMPServer 使更改变得更容易,并且可以从系统托盘中的 wampmanager 菜单中完成
左键单击 wampmanager 图标 -> PHP -> PHP Settings -> 最大执行时间
然后从下拉列表中选择一个更大的数字。等待几秒钟,wampserver 将重新启动 Apache 并设置新的 Max Execution Time
【讨论】:
【参考方案2】:万一其他人遇到这个非常独特的问题......
问题在于我的网站是多站点安装。显然有一个缓存错误会触发此问题。
Source: Where I found people with similar issue.
在该链接中,有人发布了以下代码,可以作为插件安装。最终,它解决了我的问题。希望这对某人有所帮助,直到 Wordpress 修复该错误。
<?php
/**
* Plugin Name: Multisite Cache Bug
* Description: A potential fix for the problem mentioned at https://wordpress.org/support/topic/iis-wordpress-5-6-multi-sites-file-upload-hang/#post-13867460
* Version: 0.1
* License: GPL2
*/
// Prevent direct access to this file
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
add_filter( "transient_dirsize_cache", function() return; );
【讨论】:
【参考方案3】:您需要在 php.ini 中更改该配置:
max_execution_time = 1200
或者,
left click on wampmanager icon -> PHP -> PHP Settings
并找到 max_execution_time 配置
【讨论】:
是的,我试过了。问题依然存在。这不是文件无法在最长时间内处理的情况——即使是一个很小的文件也没有被处理。上传过程中出现问题。我还设法确定这不是服务器问题,因为不同的本地 wordpress 安装正在上传正常。这太疯狂了。 能否提供重现此案例的步骤或截图?所以我们可以更加期待这个问题。 所以我设法弄明白了 - 原来这是新更新中的一个错误,它只影响本地计算机上的多站点设置。我已经在上面发布了这个问题的答案和解决方案,希望它可以帮助其他人。感谢您的帮助! 很高兴听到这个消息!以上是关于WAMP - 超过最大执行时间 - 无法再通过 Wordpress 媒体上传上传照片的主要内容,如果未能解决你的问题,请参考以下文章
没有解决方案适用于我的 wamp 服务器错误:致命错误:第 239 行的 D\...\class-wp-http-curl.php 中的最大执行时间超过 60 秒
无法在 WAMP 中的 phpmyadmin 中增加文件上传大小和执行时间