【问题标题】:PHP5.3.8 and Apache2.4 start under the xampp environmentPHP5.3.8和Apache2.4在xampp环境下启动
【发布时间】:2020-09-01 23:17:48
【问题描述】:

我想让PHP5.3.8Apache2.4windows 64bitxampp环境下启动,当命令pronto执行apache_start.bat时,出现如下错误,而Apache 无法启动。

C:\xampp>apache_start.bat
Diese Eingabeforderung nicht waehrend des Running beenden
Bitte erst bei einem gewollten Shutdown schliessen
Please close this command only for Shutdown
Apache 2 is starting ...
httpd.exe: Syntax error on line 187 of C:/xampp/apache/conf/httpd.conf:
Cannot load C:xampp/php/php5apache2_4.dll into server:
\x8ew\x92\xe8\x82\xb3\x82\xea\x82\xbd\x83\x82\x83W\x83\x85\x81[\x83\x8b\x82\xaa\x8c\xa9\x82\xc2\x82\xa9\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B

Apache konnte nicht gestartet werden
Apache could not be started

原因检查错误内容,发现PHPApache二进制不匹配。 因此执行了以下命令,并检查了PHPApache二进制

C:\xampp > cd C:\xampp\apache\bin
C:\xampp\apache\bin > httpd -v

Server version: Apache/2.4.41 (Win64)
Apache Lounge VC15 Server built:   Aug 11 2019 12:20:04

C:\xampp\apache\bin > cd C:\xampp
C:\xampp > php -r "echo PHP_INT_SIZE;"

4

在网上继续调查的时候,安装Visual C++ Redistributable for Visual Studio 2012 Update 4可以解决的时候,我有那个,所以安装了x64添加到Windows,但是解决不了。

我想告诉我在windows 64bitxampp这样的环境下可以启动PHP5.3.8Apache2.4的方式。

我按照以下程序工作。

  1. PHP5.3.8的安装

    xampp-win32-1.7.7-VC9.zip 是从SourceForge 下载的。

    xampp-win32-1.7.7-VC9.zip\xamppphp,改名为php53并保留在C:\xampp\之后。

  2. httpd-xampp.conf的移动

    xampp-win32-1.7.7-VC9.zip\xampp\apache\conf\extra\httpd-xampp.conf,把名字改成httpd-xampp.cof53,保留在C:\xampp\apache\conf\extra\之后。

  3. 列表项php5apache2_4.dll的安装。

    php5apache2_4.dll-php-5.3-win32.zip 是从Apache Additional downloads 下载的。

    我将php5apache2_4.dll-php-5.3-win32.zip\PHP 5.3.10\ 中的php5apache2_4.dll 移动到C:\xampp\php53\

    并且第 18 行 C:\xampp\apache\conf\extra\httpd-xampp.conf53LoadModule php5_module "/xampp/php/php5apache2_2.dll" 更改为 LoadModule php5_module "/xampp/php/php5apache2_4.dll"

  4. 编辑httpd.conf

    以下内容添加到C:\xampp\apache\conf\httpd.conf

# Dynamic Shared Object  For LoadModule crowd who has that in (DSO) Support (line 187).
LoadModule php5_module "C:PHP/php5apache2_4.dll"

# In the <IfModule mime_module>, (line 450,451)
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

# Most, the bottom
PHPIniDir "C:/xampp/php"
  1. 编辑php.ini

    C:\xampp\phpphp.ini,名称改为php.ini - origin

    并且,php.ini - develop,名称改为php.ini; extension_dir ="ext",在extension_dir = "C:\xampp\php\ext"下添加。

  2. 制作一个符号链接

    C:\xampp\php,名称改为php - origin

    C:\xampp\apache\conf\extra\httpd-xampp.conf,名称改为httpd-xampp.conf - origin

    符号链接由下一个命令建立。

cd C:\xampp
mklink C:\xampp\apache\conf\extra\httpd-xampp.conf C:\xampp\apache\conf\extra\httpd-xampp.conf53
mklink /D C:\xampp\php C:\xampp\php53

谢谢。

【问题讨论】:

    标签: php windows apache xampp


    【解决方案1】:

    Nr.1 如果你从 xampp/php 加载东西,你需要把它放在那里,而不是放在 php53 中。

    Nr.2 你的 httpd.conf 对我来说看起来很糟糕。我不会尝试再次从那里加载 PHP 模块,因为它已经被不同的 PHP 配置文件加载了。但即使你这样做,你也应该确保使用有效的路径:

    C:PHP/php5apache2_4.dll
    不是 Windows 上的有效路径。 : 后面必须有一个斜线 (/)。
    但即使有斜线,您也从未提到您的系统上有一个C:\PHP 文件夹。到目前为止,您只提到了 C:\xamppC:\xampp\phpC:\xampp\php53 文件夹。

    如果一起删除 LoadModule 语句没有帮助,可以尝试输入有效路径。 (用正斜杠替换 Windows 典型的反斜杠肯定是有意的,并且在更改 httpd.conf 或任何其他 Apache/PHP 配置文件中的路径时应该保持这种方式。

    【讨论】:

    • 感谢您回答问题。我不仅尝试了您的观点,还尝试了其他文章,但我无法解决。所以我决定尝试使用 CentOS。非常感谢您礼貌的回答。
    猜你喜欢
    • 2014-08-03
    • 2014-11-04
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多