Softaculous Ampps 3.8:如果我更改PHP版本为7.1,Apache无法启动

3

我最近在Windows 10上使用Ampps软件时遇到了一个问题,如果PHP版本为7.1,则Apache会自动停止,但是如果将PHP版本更改回5.6,则一切正常。

以下是Apache的错误日志:

<pre>

[Mon Oct 22 10:28:12.413768 2018] [mpm_winnt:notice] [pid 12484:tid 684] AH00455: Apache/2.4.27 (Win32) OpenSSL/1.1.0f PHP/5.6.31 configured -- resuming normal operations
[Mon Oct 22 10:28:12.413768 2018] [mpm_winnt:notice] [pid 12484:tid 684] AH00456: Apache Lounge VC15 Server built: Jul  7 2017 11:43:51
[Mon Oct 22 10:28:12.413768 2018] [core:notice] [pid 12484:tid 684] AH00094: Command line: 'apache\\bin\\httpd.exe -d D:/Ampps/apache'
[Mon Oct 22 10:28:12.417758 2018] [mpm_winnt:notice] [pid 12484:tid 684] AH00418: Parent: Created child process 5924
[Mon Oct 22 10:28:13.307885 2018] [mpm_winnt:notice] [pid 5924:tid 740] AH00354: Child: Starting 64 worker threads.
[Mon Oct 22 10:28:45.068164 2018] [mpm_winnt:notice] [pid 9816:tid 700] AH00455: Apache/2.4.27 (Win32) OpenSSL/1.1.0f PHP/7.1.8 configured -- resuming normal operations
[Mon Oct 22 10:28:45.068164 2018] [mpm_winnt:notice] [pid 9816:tid 700] AH00456: Apache Lounge VC15 Server built: Jul  7 2017 11:43:51
[Mon Oct 22 10:28:45.068164 2018] [core:notice] [pid 9816:tid 700] AH00094: Command line: 'apache\\bin\\httpd.exe -d D:/Ampps/apache'
[Mon Oct 22 10:28:45.070158 2018] [mpm_winnt:notice] [pid 9816:tid 700] AH00418: Parent: Created child process 15180
[Mon Oct 22 10:28:47.563384 2018] [mpm_winnt:crit] [pid 9816:tid 700] AH00419: master_main: create child process failed. Exiting.

</pre>

我没有改变任何东西或安装任何新的内容,而且我重新安装了很多次并尝试使用XAMPP,它可以正常工作。

谢谢。

6个回答

4

对于我来说,这个问题是通过禁用Ioncube加载器扩展解决的。谢谢所有回复。


PHP扩展是为特定的PHP主要版本构建的,例如5.6、7.1、7.2等。当您更新PHP时,必须确保您也更新第三方扩展,如ionCube、NewRelic等。对于ionCube,您只需从https://www.ioncube.com/loaders.php获取相关内容,并在不确定所需内容时使用Loader Wizard脚本进行指导。 - Nick

0

虽然有点晚了,但我已经使用Ampps五年了,我提供类似的解决方案来解决我的常见错误,希望对其他人有所帮助。

  • 如果您在“httpd.conf”中更改了文档根目录路径,请确保该文件夹仍然存在。

  • 如果您看到关于InnoDB文件的日志,请跟随路径并删除那些转储文件和日志。

  • 如果您在日志文件中遇到此错误“master_main: create child process failed”:

    将PHP版本更改为7.1并尝试以下操作:

    打开AMPPS面板--> PHP-->配置。

    搜索以下行并在行首添加“;”以注释掉它:zend_extension="{$path}\php-7.1\ioncube_loader_win_7.1.dll"


0

[Mon Oct 22 10:28:45.068164 2018] [core:notice] [pid 9816:tid 700] AH00094: 命令行: 'apache\bin\httpd.exe -d D:/Ampps/apache' -- 看起来您需要安装此程序 - https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads - CecilMerrell aka bringrainfire
"'php'不被识别为内部或外部命令、可操作的程序或批处理文件。" > 即使使用Ampps也是同样的响应。 - AhmedEls
但是现在我重新安装了VC_redist之后,Apache开始工作了,但是每隔三次才能静态地工作,也就是说,当我启动Ampps软件时,我必须启动Apache并再次启动3次才能使Apache稳定地工作!!!! - AhmedEls
在安装AMPPS之前需要安装vc_redist。 - CecilMerrell aka bringrainfire
是的,在我安装Ampps之前已经安装了vs_redist,那么您有什么建议要尝试吗?因为我实际上无法理解错误日志,所以错误日志中的child是否与vs_redist有关? - AhmedEls
显示剩余3条评论

0

我知道这已经过去了4个月,但我在Windows上遇到了PHP的重大问题,今天我解决了这个问题。

AMPPS - 它不会运行PHP 7.1,除非将可执行文件更改为管理员模式。Apache将在没有错误的情况下终止。我认为这是因为即使AMPPS正在以管理员特权运行,当运行php.exe时,这些特权也不会授予它。转到php.exe的文件位置,右键单击并单击属性,单击兼容性选项卡,然后选择“以管理员身份运行”的复选框。对于apache->bin->httpd.exe下的httpd.exe也要进行相同的操作。(不确定httpd特权更改是否重要,但我做了它并且它起作用了。)

运行AMPPS,希望像我一样,您的php / apache问题已经消失了。


0
尝试以管理员身份运行httpd.exe,它可以正常工作。

C:\ Program Files(x86)\ Ampps \ apache \ bin


你的回复不是一个答案。 - Nick
对我有用。在Windows上“以管理员身份运行”……没有错误。 - Karin

0

我按照以下步骤解决了我的问题:

我将PHP版本切换到5.6,一切正常运作, 然后访问了这个URL:

http://localhost/ampps/index.php?

我在页面顶部的URL栏下方发现了一些可用的更新通知。如果你看到你的PHP 7.0 7.1 ...有可用的更新,90%的情况下你会像我一样解决这个问题。我尝试更新所有可用的更新。

然后重新启动AMPPS应用程序,现在使用PHP 7.1非常好。

我希望它对你也有效。


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