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 中增加文件上传大小和执行时间

致命错误:wp-db.php 的最大执行时间超过了 60 秒

无法增加文件上传大小 WAMP

WAMP 服务器不工作,没有可用的监听套接字,无法打开日志