无法执行菜单项(内部错误)[异常] - 将 PHP 版本从 5.3.1 更改为 5.2.9 时

Posted

技术标签:

【中文标题】无法执行菜单项(内部错误)[异常] - 将 PHP 版本从 5.3.1 更改为 5.2.9 时【英文标题】:Could not execute menu item (internal error)[Exception] - When changing PHP version from 5.3.1 to 5.2.9 【发布时间】:2017-01-12 11:44:55 【问题描述】:

我在我的 WAMP 服务器中安装了两个 php 版本。当我使用 5.3.10 时,我的 wamp 服务器运行良好。但是当我切换到旧版本的 PHP (5.2.9) 时,我的 wamp 服务器托盘图标显示为橙色图标。如果您单击“Put Online”,我会收到以下错误。

我尝试将 httpd.conf 中的端口更改为 8855,但仍然遇到同样的错误。我该如何解决这个错误?

无法执行菜单项(内部错误)[异常] 无法执行服务操作:服务尚未启动

【问题讨论】:

Skype 对我来说是个问题,我从 Skype 退出,它对我有用。 如果是 Skype 引起的问题,您可以将其配置为不使用端口 80。在选项->高级->连接中取消选中“使用端口 80 和 443...”并重新启动 Skype。跨度> 【参考方案1】:

默认情况下,WAMP 服务器会将80 作为其工作端口。

您可以随意更改该端口号...以下是执行此操作的步骤:

点击 WAMP 服务器托盘图标 点击apache 选择http.conf

记事本将在此处打开...

向下滚动,您将看到 WAMP 服务器占用的端口号...

将该端口号更改为:

#Listen x.x.x.x:8080
Listen 8080

保存该文件并重新启动服务...它将正常工作...

现在输入http://localhost:8080/进行检查。

【讨论】:

【参考方案2】:

如果您使用的是 Windows,请尝试以下操作:

    按 (Windows+R) 输入“services.msc”并点击“确定” 定位名为“wampapache”的服务

并检查其状态是否为“正在运行”。如果没有,请右键单击>>开始。

希望这会有所帮助!


如果您已从引导服务中删除 WAMP,它将无法正常工作 - 请尝试以下操作:

按 (Windows+R) 输入“services.msc”并点击“确定” 定位名为“wampapache”的服务 右击wampapachewampmysqld,点击“属性” 并将开始类型更改为Manualautomatic

这行得通!

【讨论】:

【参考方案3】:

首先进入Wamp->Apache->Service->测试80端口

如果它是 Microsoft HTTPAPI / 2.0 的用户

那么解决方法就是手动停止名为web部署代理服务

的服务

如果您安装了 Microsoft Sql Server,即使 IIS 服务被禁用,它也会保持名为 httpapi2.0 的 Web 服务运行。

【讨论】:

【参考方案4】:

也许旧版本的服务没有从 windows 卸载

    卸载运行此命令行的旧版本

    sc 删除 wampapache

    从 wamp 重新安装服务:

    Wamp 托盘图标 -> Apache -> 服务 -> 安装服务

它对我有用,享受吧!

【讨论】:

【参考方案5】:

    就像您安装了旧版本的 PHP 一样,对 Apache 也一样。我选择了 2.0.63 版本,然后我能够毫无问题地使用 PHP 5.2.9 运行 WAMP Server。

    我还了解到这是 64 位版本的 WAMP 的问题。

【讨论】:

现在启动/重启服务器需要更长的时间。【参考方案6】:

问题是MySQL56服务正在运行,占用了WAMP MySQL的端口。MySQL56服务停止后,WAMP服务器启动成功。

【讨论】:

【参考方案7】:

对于正在阅读本文的任何人 -> 不再使用 php 5.3,切换到更新版本的 php,因为 php 5.3 正在使用已弃用的函数。

以下是已弃用的 INI 指令列表。使用这些 INI 指令中的任何一个都会导致在启动时抛出 E_DEPRECATED 错误,因此我建议您使用更新版本进行开发。

define_syslog_variables
register_globals
register_long_arrays
safe_mode
magic_quotes_gpc
magic_quotes_runtime
magic_quotes_sybase
Comments starting with '#' are now deprecated in .INI files.

不推荐使用的函数:

call_user_method() (use call_user_func() instead)
call_user_method_array() (use call_user_func_array() instead)
define_syslog_variables()
dl()
ereg() (use preg_match() instead)
ereg_replace() (use preg_replace() instead)
eregi() (use preg_match() with the 'i' modifier instead)
eregi_replace() (use preg_replace() with the 'i' modifier instead)
set_magic_quotes_runtime() and its alias, magic_quotes_runtime()
session_register() (use the $_SESSION superglobal instead)
session_unregister() (use the $_SESSION superglobal instead)
session_is_registered() (use the $_SESSION superglobal instead)
set_socket_blocking() (use stream_set_blocking() instead)
split() (use preg_split() instead)
spliti() (use preg_split() with the 'i' modifier instead)
sql_regcase()
mysql_db_query() (use mysql_select_db() and mysql_query() instead)
mysql_escape_string() (use mysql_real_escape_string() instead)
Passing locale category names as strings is now deprecated. Use the LC_* family of constants instead.
The is_dst parameter to mktime(). Use the new timezone handling functions instead.

已弃用的功能:

Assigning the return value of new by reference is now deprecated.
Call-time pass-by-reference is now deprecated.

【讨论】:

【参考方案8】:

Skype 等一些应用程序使用 wamp 的默认端口:80,因此您必须找出哪个应用程序正在访问此端口,您可以使用 TCP View 轻松找到它。结束访问该端口的服务并重新启动 wamp 服务器。现在它可以工作了。

【讨论】:

【参考方案9】: 打开Task Manager 转到详细信息 查找并杀死Skype... 应用程序

重启WampServer,它应该可以工作了

【讨论】:

以上是关于无法执行菜单项(内部错误)[异常] - 将 PHP 版本从 5.3.1 更改为 5.2.9 时的主要内容,如果未能解决你的问题,请参考以下文章

WAMP Server Apache 无法启动

SQL Server CE - 内部错误:无法打开共享内存区域

16-异常

Caliburn.Micro: 如何将函数绑定到DataGrid的RowDetailsTemplate中的上下文菜单项?

在我的WordPress菜单项中添加#无法正常工作

PHP系列PHP错误异常处理