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

时间:2012-04-22 09:08:10

标签: php wampserver system-error

我在WAMP服务器上安装了两个PHP版本。当我使用5.3.10时,我的wamp服务器运行正常。但是当我切换到旧版本的PHP(5.2.9)时,我的wamp服务器托盘图标显示橙色图标。如果你点击Put Online我会收到以下错误。

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

  

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

wamp

Aestan Tray Menu

9 个答案:

答案 0 :(得分:74)

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

您可以根据需要更改该端口号...以下是执行此操作的步骤:

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

这里记事本会打开......

  • 向下滚动,您将看到WAMP服务器所需的端口号...
  • 将该端口号更改为:

    #Listen x.x.x.x:8080
    Listen 8080
    
  • 保存该文件并重新启动服务......它可以正常工作......

  • 现在点击http://localhost:8080/
  • 进行检查

答案 1 :(得分:26)

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

  1. 按(Windows + R)
  2. 输入" services.msc"然后单击"确定"
  3. 找到名称为' wampapache'
  4. 的服务

    并检查其状态是否为'正在运行'。如果没有,请右键单击>>启动。

    希望这有帮助!


    如果您已从启动服务中删除了WAMP,则无法正常工作 - 请尝试以下操作:

    • 按(Windows + R)
    • 输入" services.msc"然后单击"确定"
    • 找到名称为' wampapache'
    • 的服务
    • 右键点击wampapachewampmysqld,点击'属性'
    • 并将“开始类型”更改为“Manualautomatic

    这会有效!

答案 2 :(得分:6)

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

如果它是Microsoft HTTPAPI / 2.0的用户

然后解决方案是手动停止名为 Web部署代理服务

的服务

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

答案 3 :(得分:6)

可能没有从Windows中卸载旧版本的服务

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

    sc delete wampapache

  2. 从wamp重新安装服务:

    Wamp Tray Icon - > Apache - >服务 - >安装服务

  3. 它适合我,享受!

答案 4 :(得分:3)

  1. 就像你安装旧版本的PHP一样,对Apache也一样。我选择了2.0.63版,然后我就能用PHP 5.2.9运行WAMP Server而没有任何问题。

  2. 我还读到64位版本的WAMP存在问题。

答案 5 :(得分:1)

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

答案 6 :(得分:0)

对于正在阅读此内容的任何人 - >不要再使用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.

答案 7 :(得分:0)

某些应用程序(如Skype)使用wamp的默认端口:80,因此您必须找出访问此端口的应用程序,您可以使用TCP View轻松找到它。结束访问此端口的服务并重新启动wamp服务器。现在它会起作用。

答案 8 :(得分:0)

  • 打开 Task Manager
  • 转到详细信息
  • 找到并杀死Skype...个应用

重新启动WampServer,它应该可以工作