更改PHP版本从5.3.1到5.2.9时出现菜单项无法执行的错误(内部错误)[异常]

44
我在WAMP服务器上安装了两个PHP版本。 当我使用5.3.10时,我的WAMP服务器运行良好。 但是当我切换到旧版本的PHP(5.2.9)时,我的WAMP服务器托盘图标显示橙色图标。 如果您单击"上线",则会出现以下错误。
我尝试在httpd.conf中更改端口为8855,但仍然出现相同的错误。 如何解决这个错误?
"无法执行菜单项(内部错误)[Exception] 无法执行服务操作:该服务尚未启动"
图片链接如下: wamp Aestan Tray Menu

2
Skype对我造成了问题,我退出了Skype,这样就解决了。 - Satish Panpatte
2
如果Skype引起了问题,您可以配置它不使用端口80。在选项->高级->连接中取消选中“使用端口80和443…”并重新启动Skype。 - khattam
9个回答

77

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

你可以按照自己的喜好更改该端口号 ... 下面是更改步骤:

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

这里会打开记事本...

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

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

  • 现在通过输入http://localhost:8080/来检查。

28

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

  1. 按下(Windows+R)键
  2. 输入“services.msc”并单击“确定”
  3. 找到名称为“wampapache”的服务

检查它的状态是否为“正在运行”。如果没有,请右键单击>>启动。

希望这有所帮助!


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

  • 按下(Windows+R)键
  • 输入“services.msc”并单击“确定”
  • 找到名称为“wampapache”的服务
  • 右键单击wampapachewampmysqld,点击“属性”
  • 更改“启动类型”为手动自动

这会起作用!


6
也许旧版本的服务没有从Windows卸载
  1. 运行以下命令卸载旧版本:

    sc delete wampapache

  2. 重新从WAMP安装服务:

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

这对我有效,祝使用愉快!


6

首先进入Wamp->Apache->Service->Test Port 80

如果正在使用Microsoft HTTPAPI / 2.0,则解决方案是手动停止名为网络部署代理服务的服务。

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


3
  1. 如果你安装了旧版本的PHP,那就同样安装旧版本的Apache。我选择了2.0.63版本,然后就可以顺利地运行带有PHP 5.2.9的WAMP服务器。

  2. 我还读到说这可能是64位版本的WAMP的问题。


现在启动/重新启动服务器需要花费更长的时间。 - petter386

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

0
  • 打开任务管理器
  • 进入详细信息
  • 查找并结束Skype...应用程序

重新启动WampServer,它应该能够工作


0

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


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.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接