9

我正在尝试将我的 PHP 版本更新为全新的 PHP 8。我已按照教程的类似步骤进行操作。但是现在显示以下错误:

12:06:23  [Apache]  Error: Apache shutdown unexpectedly.
12:06:23  [Apache]  This may be due to a blocked port, missing dependencies, 
12:06:23  [Apache]  improper privileges, a crash, or a shutdown by another method.
12:06:23  [Apache]  Press the Logs button to view error logs and check
12:06:23  [Apache]  the Windows Event Viewer for more clues
12:06:23  [Apache]  If you need more help, copy and post this
12:06:23  [Apache]  entire log window on the forums

注意:我使用的是全新的 XAMPP 安装版本 7.2.33。

我找不到我的问题的解决方案。

编辑 据说我需要查看日志文件,但它们完全是空的,因为它是全新的安装。

这是我的httpd-xampp.conf

<IfModule env_module>
    SetEnv MIBDIRS "C:/xampp/php/extras/mibs"
    SetEnv MYSQL_HOME "\\xampp\\mysql\\bin"
    SetEnv OPENSSL_CONF "C:/xampp/apache/bin/openssl.cnf"
    SetEnv PHP_PEAR_SYSCONF_DIR "\\xampp\\php"
    SetEnv PHPRC "\\xampp\\php"
    SetEnv TMP "\\xampp\\tmp"
</IfModule>

#
# PHP-Module setup
#
LoadFile "C:/xampp/php/php8ts.dll"
LoadFile "C:/xampp/php/libpq.dll"
LoadModule php8_module "C:/xampp/php/php8apache2_4.dll"
LoadFile "C:/xampp/php/libsqlite3.dll"

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

#
# PHP-CGI setup
#
#<FilesMatch "\.php$">
#    SetHandler application/x-httpd-php-cgi
#</FilesMatch>
#<IfModule actions_module>
#    Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"
#</IfModule>


<IfModule php8_module>
    PHPINIDir "C:/xampp/php"
</IfModule>

<IfModule mime_module>
    AddType text/html .php .phps
</IfModule>

ScriptAlias /php-cgi/ "C:/xampp/php/"
<Directory "C:/xampp/php">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
          Require all granted
    </Files>
</Directory>

<Directory "C:/xampp/cgi-bin">
    <FilesMatch "\.php$">
        SetHandler cgi-script
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler None
    </FilesMatch>
</Directory>

<Directory "C:/xampp/htdocs/xampp">
    <IfModule php8_module>
        <Files "status.php">
            php_admin_flag safe_mode off
        </Files>
    </IfModule>
    AllowOverride AuthConfig
</Directory>

<IfModule alias_module>
    Alias /licenses "C:/xampp/licenses/"
    <Directory "C:/xampp/licenses">
        Options +Indexes
        <IfModule autoindex_color_module>
            DirectoryIndexTextColor  "#000000"
            DirectoryIndexBGColor "#f8e8a0"
            DirectoryIndexLinkColor "#bb3902"
            DirectoryIndexVLinkColor "#bb3902"
            DirectoryIndexALinkColor "#bb3902"
        </IfModule>
        Require local
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
   </Directory>

    Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
    <Directory "C:/xampp/phpMyAdmin">
        AllowOverride AuthConfig
        Require local
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
    </Directory>

    Alias /webalizer "C:/xampp/webalizer/"
    <Directory "C:/xampp/webalizer">
        <IfModule php8_module>
            <Files "webalizer.php">
                php_admin_flag safe_mode off
            </Files>
        </IfModule>
        AllowOverride AuthConfig
        Require local
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
    </Directory>
</IfModule>
4

5 回答 5

12

重写php8_modulephp_module(所有出现)

“httpd-xampp.conf”文件Error: Apache shutdown unexpectedly为我解决了这个问题:)

于 2020-12-02T08:40:45.260 回答
2

由于 XAMPP 新版本随 PHP 8 更新一起发布,现在在 XAMPP 上运行 PHP 8 很容易。安装 XAMPP,并在 localhost 上使用 XAMPP Server 运行第一个 PHP 程序。以下是步骤:

  • 下载并安装 XAMPP
  • 在 XAMPP 中创建一个新项目并添加您的 PHP 程序
  • 打开 XAMPP 并运行你的第一个 PHP 程序

下载并安装 XAMPP

第 1 步:访问 Apache Friends 网站并下载 XAMPP Server(支持 PHP 8)。Apache Friends 是下载 XAMPP 的官方网站:

下载 XAMPP

第二步:下载后安装。您可以将其安装在任何位置。我们安装了 XAMPP 即 C: 驱动器,

在 XAMPP 中创建一个新项目

第 3 步:现在,转到 Xampp 文件夹中的htdocs 文件夹并创建您的项目文件夹。

在这里,创建了一个 AmitProject 文件夹,如下图所示:

按照教程进行操作,您无需更新上面显示的任何设置。

于 2020-12-12T06:47:28.143 回答
2

https://windows.php.net/download#php-8.0

非常重要的是您必须下载“线程安全”版本。否则你没有“php8apache2_4.dll”,你需要这样才能使 php8 在 XAMPP 中与 apache 一起工作。

于 2022-01-11T09:47:48.923 回答
1

此错误是新 php 版本的 xampp 配置错误的结果(表示 xampp/apache/conf/extra/httpd-xampp.conf 中的条目错误)。

幸运的是,您可以使用以下 shell 命令检查 apache 服务器的配置:

c:/xampp/apache/bin/httpd.exe -t

(将驱动器号替换为您的安装驱动器号,如果您在自定义文件夹中安装了 xampp,则还要更改 xampp 文件夹。)

如果您看到Syntax OKphp 应该可以正常工作(不要忘记复制/调整 php.ini 文件)。如果没有,httpd.exe -toffer 的输出会提示 httpd-xampp.conf 中应该更改的内容。

于 2021-09-29T05:41:02.980 回答
0
  1. 将旧的 php 目录重命名为 phpX
  2. 下载所需版本的 PHP + 开发包,例如:https ://windows.php.net/download#php-8.0
  3. 将下载的档案提取到 xampp/php
  4. 如果旧的 php 配置对您很重要,请将 phpX/php.ini 复制到 php/
  5. 解压到xampp,重写httpd-xampp.config中引用的phpOld行
  • 而不是 phpX_module,只使用 php_module
  1. 如果问题仍然存在,运行 xampp_start 会给出PHP load error: %1 is not a valid Win32 application.然后下载新的 apache 版本...
  • 不要忘记将 httpd.conf、httpd-ssl.conf、httpd-xampp.conf 放在他们的位置

或者不用单独下载模块,只需使用所需版本进行新的 XAMPP 安装并复制 php+apache 目录,然后卸载旧的。从旧的 apache 目录获取 httpd*.conf 文件或更正它们的路径。

于 2021-03-24T12:14:04.110 回答