liangshuxuhe
@liangshuxuhe

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

PHPをインストールするとApache2サーバーの起動に失敗する

Q&A

Closed

解決したいこと

PHPスクリプトを実行できるようにphpパッケージをインストールすると、Apache2サーバーの起動に失敗します。
解決方法を教えて下さい。

発生している問題・エラー

sudo apt install php -yでphpパッケージをインストールします。

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
以下の追加パッケージがインストールされます:
  libapache2-mod-php8.2 libsodium23 php-common php8.2 php8.2-cli php8.2-common php8.2-opcache php8.2-readline
提案パッケージ:
  php-pear
以下のパッケージが新たにインストールされます:
  libapache2-mod-php8.2 libsodium23 php php-common php8.2 php8.2-cli php8.2-common php8.2-opcache php8.2-readline
アップグレード: 0 個、新規インストール: 9 個、削除: 0 個、保留: 0 個。
4,659 kB のアーカイブを取得する必要があります。
この操作後に追加で 21.6 MB のディスク容量が消費されます。
取得:1 http://deb.debian.org/debian bookworm/main amd64 php-common all 2:93 [13.1 kB]
取得:2 http://deb.debian.org/debian-security bookworm-security/main amd64 php8.2-common amd64 8.2.18-1~deb12u1 [678 kB]
取得:3 http://deb.debian.org/debian-security bookworm-security/main amd64 php8.2-opcache amd64 8.2.18-1~deb12u1 [345 kB]
取得:4 http://deb.debian.org/debian-security bookworm-security/main amd64 php8.2-readline amd64 8.2.18-1~deb12u1 [12.4 kB]
取得:5 http://deb.debian.org/debian bookworm/main amd64 libsodium23 amd64 1.0.18-1 [161 kB]
取得:6 http://deb.debian.org/debian-security bookworm-security/main amd64 php8.2-cli amd64 8.2.18-1~deb12u1 [1,734 kB]
取得:7 http://deb.debian.org/debian-security bookworm-security/main amd64 libapache2-mod-php8.2 amd64 8.2.18-1~deb12u1 [1,674 kB]
取得:8 http://deb.debian.org/debian-security bookworm-security/main amd64 php8.2 all 8.2.18-1~deb12u1 [37.1 kB]
取得:9 http://deb.debian.org/debian bookworm/main amd64 php all 2:8.2+93 [3,628 B]
4,659 kB を 4秒 で取得しました (1,265 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
以前に未選択のパッケージ php-common を選択しています。
(データベースを読み込んでいます ... 現在 35292 個のファイルとディレクトリがインストールされています。)
.../0-php-common_2%3a93_all.deb を展開する準備をしています ...
php-common (2:93) を展開しています...
以前に未選択のパッケージ php8.2-common を選択しています。
.../1-php8.2-common_8.2.18-1~deb12u1_amd64.deb を展開する準備をしています ...
php8.2-common (8.2.18-1~deb12u1) を展開しています...
以前に未選択のパッケージ php8.2-opcache を選択しています。
.../2-php8.2-opcache_8.2.18-1~deb12u1_amd64.deb を展開する準備をしています ...
php8.2-opcache (8.2.18-1~deb12u1) を展開しています...
以前に未選択のパッケージ php8.2-readline を選択しています。
.../3-php8.2-readline_8.2.18-1~deb12u1_amd64.deb を展開する準備をしています ...
php8.2-readline (8.2.18-1~deb12u1) を展開しています...
以前に未選択のパッケージ libsodium23:amd64 を選択しています。
.../4-libsodium23_1.0.18-1_amd64.deb を展開する準備をしています ...
libsodium23:amd64 (1.0.18-1) を展開しています...
以前に未選択のパッケージ php8.2-cli を選択しています。
.../5-php8.2-cli_8.2.18-1~deb12u1_amd64.deb を展開する準備をしています ...
php8.2-cli (8.2.18-1~deb12u1) を展開しています...
以前に未選択のパッケージ libapache2-mod-php8.2 を選択しています。
.../6-libapache2-mod-php8.2_8.2.18-1~deb12u1_amd64.deb を展開する準備をしています ...
libapache2-mod-php8.2 (8.2.18-1~deb12u1) を展開しています...
以前に未選択のパッケージ php8.2 を選択しています。
.../7-php8.2_8.2.18-1~deb12u1_all.deb を展開する準備をしています ...
php8.2 (8.2.18-1~deb12u1) を展開しています...
以前に未選択のパッケージ php を選択しています。
.../8-php_2%3a8.2+93_all.deb を展開する準備をしています ...
php (2:8.2+93) を展開しています...
php-common (2:93) を設定しています ...
/usr/sbin/policy-rc.d returned 101, not running 'restart phpsessionclean.timer'
/usr/sbin/policy-rc.d returned 101, not running 'try-restart phpsessionclean.service'
php8.2-common (8.2.18-1~deb12u1) を設定しています ...
libsodium23:amd64 (1.0.18-1) を設定しています ...
php8.2-opcache (8.2.18-1~deb12u1) を設定しています ...
php8.2-readline (8.2.18-1~deb12u1) を設定しています ...
php8.2-cli (8.2.18-1~deb12u1) を設定しています ...
update-alternatives: /usr/bin/php (php) を提供するために自動モードで /usr/bin/php8.2 を使います
update-alternatives: /usr/bin/phar (phar) を提供するために自動モードで /usr/bin/phar8.2 を使います
update-alternatives: /usr/bin/phar.phar (phar.phar) を提供するために自動モードで /usr/bin/phar.phar8.2 を使います
libapache2-mod-php8.2 (8.2.18-1~deb12u1) を設定しています ...
apache2_invoke: Enable module php8.2
apache2_reload: Your configuration is broken. Not restarting Apache 2
apache2_reload: apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php8.2.load: Cannot 
load /usr/lib/apache2/modules/libphp8.2.so into server: /lib/x86_64-linux-gnu/libicuuc.so.72: file too short                                            php8.2 (8.2.18-1~deb12u1) を設定しています ...
php (2:8.2+93) を設定しています ...
man-db (2.11.2-2) のトリガを処理しています ...
libc-bin (2.36-9+deb12u7) のトリガを処理しています ...
ldconfig: File /lib/x86_64-linux-gnu/libicui18n.so.72.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libbpf.so.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libbpf.so.1.1.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libatm.so.1.0.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libcbor.so.0.8 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libmnl.so.0.2.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libedit.so.2.0.70 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libjson-c.so.5 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libpsl.so.5.3.4 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libxtables.so.12.7.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicutest.so.72 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libfido2.so.1.12.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libnghttp2.so.14 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libatm.so.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libmnl.so.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libelf-0.188.so is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicuuc.so.72.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libXmuu.so.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libjson-c.so.5.2.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libXext.so.6.4.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicuuc.so.72 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libcbor.so.0.8.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libelf.so.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libedit.so.2 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicudata.so.72 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libXmuu.so.1.0.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libxtables.so.12 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicutest.so.72.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicuio.so.72 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicudata.so.72.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libnghttp2.so.14.24.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicui18n.so.72 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libfido2.so.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libpsl.so.5 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicuio.so.72.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicutu.so.72.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libXext.so.6 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicutu.so.72 is empty, not checked.
php8.2-cli (8.2.18-1~deb12u1) のトリガを処理しています ...
libapache2-mod-php8.2 (8.2.18-1~deb12u1) のトリガを処理しています ...

sudo systemctl restart apache2を実行しても起動に失敗します。

× apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Wed 2024-06-19 10:14:29 JST; 14s ago
   Duration: 36min 7.033s
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 28975 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

 6月 19 10:14:29 debian-test-apache systemd[1]: Starting apache2.service - The Apache HTTP Server...
 6月 19 10:14:29 debian-test-apache apachectl[28978]: apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php8.2.load: Cannot load /usr/lib/apache2/modules/libphp8.2.so into server: /lib/x86_64-linux-gnu/libicuuc.so.72: file too short
 6月 19 10:14:29 debian-test-apache apachectl[28975]: Action 'start' failed.
 6月 19 10:14:29 debian-test-apache apachectl[28975]: The Apache error log may have more information.
 6月 19 10:14:29 debian-test-apache systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
 6月 19 10:14:29 debian-test-apache systemd[1]: apache2.service: Failed with result 'exit-code'.
 6月 19 10:14:29 debian-test-apache systemd[1]: Failed to start apache2.service - The Apache HTTP Server.

自分で試したこと

sudo apt purge php -y && sudo apt autoremove -yでphpパッケージをアンインストールした後、sudo systemctl restart apache2で再起動を行うとApache2サーバーが正常に動作します。

パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libapache2-mod-php8.2 libsodium23 php-common php8.2 php8.2-cli php8.2-common php8.2-opcache php8.2-readline
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージは「削除」されます:
  php*
アップグレード: 0 個、新規インストール: 0 個、削除: 1 個、保留: 0 個。
この操作後に 10.2 kB のディスク容量が解放されます。
(データベースを読み込んでいます ... 現在 35422 個のファイルとディレクトリがインストールされています。)
php (2:8.2+93) を削除しています ...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
以下のパッケージは「削除」されます:
  libapache2-mod-php8.2 libsodium23 php-common php8.2 php8.2-cli php8.2-common php8.2-opcache php8.2-readline
アップグレード: 0 個、新規インストール: 0 個、削除: 8 個、保留: 0 個。
この操作後に 21.6 MB のディスク容量が解放されます。
(データベースを読み込んでいます ... 現在 35419 個のファイルとディレクトリがインストールされています。)
php8.2 (8.2.18-1~deb12u1) を削除しています ...
libapache2-mod-php8.2 (8.2.18-1~deb12u1) を削除しています ...
Module php8.2 disabled.
apache2_invoke prerm: Disable module php8.2
invoke-rc.d: policy-rc.d denied execution of restart.
php8.2-cli (8.2.18-1~deb12u1) を削除しています ...
libsodium23:amd64 (1.0.18-1) を削除しています ...
php8.2-readline (8.2.18-1~deb12u1) を削除しています ...
php8.2-opcache (8.2.18-1~deb12u1) を削除しています ...
php8.2-common (8.2.18-1~deb12u1) を削除しています ...
php-common (2:93) を削除しています ...
/usr/sbin/policy-rc.d returned 101, not running 'stop phpsessionclean.service'
/usr/sbin/policy-rc.d returned 101, not running 'stop phpsessionclean.timer'
man-db (2.11.2-2) のトリガを処理しています ...
libc-bin (2.36-9+deb12u7) のトリガを処理しています ...
ldconfig: File /lib/x86_64-linux-gnu/libicui18n.so.72.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libbpf.so.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libbpf.so.1.1.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libatm.so.1.0.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libcbor.so.0.8 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libmnl.so.0.2.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libedit.so.2.0.70 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libjson-c.so.5 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libpsl.so.5.3.4 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libxtables.so.12.7.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicutest.so.72 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libfido2.so.1.12.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libnghttp2.so.14 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libatm.so.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libmnl.so.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libelf-0.188.so is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicuuc.so.72.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libXmuu.so.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libjson-c.so.5.2.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libXext.so.6.4.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicuuc.so.72 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libcbor.so.0.8.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libelf.so.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libedit.so.2 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicudata.so.72 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libXmuu.so.1.0.0 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libxtables.so.12 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicutest.so.72.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicuio.so.72 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicudata.so.72.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libnghttp2.so.14.24.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicui18n.so.72 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libfido2.so.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libpsl.so.5 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicuio.so.72.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicutu.so.72.1 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libXext.so.6 is empty, not checked.
ldconfig: File /lib/x86_64-linux-gnu/libicutu.so.72 is empty, not checked.
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enabled)
     Active: active (running) since Wed 2024-06-19 10:28:42 JST; 29s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 39534 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 39538 (apache2)
     CGroup: /docker/416070c8100e86de622da392f2934ff829fa43744a30dcf4bf68fd46015d106c/system.slice/apache2.service
             ├─39538 /usr/sbin/apache2 -k start
             ├─39539 /usr/sbin/apache2 -k start
             ├─39540 /usr/sbin/apache2 -k start
             ├─39541 /usr/sbin/apache2 -k start
             ├─39542 /usr/sbin/apache2 -k start
             └─39543 /usr/sbin/apache2 -k start

 6月 19 10:28:42 debian-test-apache systemd[1]: Starting apache2.service - The Apache HTTP Server...
 6月 19 10:28:42 debian-test-apache apachectl[39537]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
 6月 19 10:28:42 debian-test-apache systemd[1]: Started apache2.service - The Apache HTTP Server.
0

1Answer

apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php8.2.load: Cannot load /usr/lib/apache2/modules/libphp8.2.so into server: /lib/x86_64-linux-gnu/libicuuc.so.72: file too short

/etc/apache2/apache2.confの内容が質問元に貼られてないため、具体的に答えようがありません。
apache2.confの146行目に問題があるようなので精査して下さい。

0Like

Comments

  1. @liangshuxuhe

    Questioner

    /etc/apache2/apache2.confの146行目は次の内容です。

    /etc/apache2/apache2.conf
    IncludeOptional mods-enabled/*.load
    

    /etc/apache2/mods-enabled/php8.2.loadの3行目は次の内容です。

    /etc/apache2/mods-enabled/php8.2.load
    LoadModule php_module /usr/lib/apache2/modules/libphp8.2.so
    

    readlink -e /lib/x86_64-linux-gnu/libicuuc.so.72を実行すると次のパスが返されますが、ファイルのサイズが0のようです。

    /usr/lib/x86_64-linux-gnu/libicuuc.so.72.1
    
      File: /usr/lib/x86_64-linux-gnu/libicuuc.so.72.1
      Size: 0               Blocks: 0          IO Block: 4096   通常の空ファイル
    Device: 0,135   Inode: 174213      Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2022-11-26 04:19:48.000000000 +0900
    Modify: 2022-11-26 04:19:48.000000000 +0900
    Change: 2024-04-24 17:34:12.538218139 +0900
     Birth: 2024-04-24 17:34:12.538218139 +0900
    
  2. OSの版が解らないのですが、manticでしょうか?

    /usr/lib/x86_64-linux-gnu/libicuuc.so.72.1が欠けているのは奇妙ですが、phpを再インストールしてもなお欠けているようならlibicu72を再インストールするか、国際化関数群が不要ならphpインストール後にphp8.2-intlだけパージするか。

  3. @liangshuxuhe

    Questioner

    libicu72を再インストールした後、apache2サーバーの再起動に成功しました。
    しかし、php -vを実行したときにreadline.soの読み込みに失敗します。

    PHP Warning:  PHP Startup: Unable to load dynamic library 'readline.so' (tried: /usr/lib/php/20220829/readline.so (/lib/x86_64-linux-gnu/libedit
    .so.2: file too short), /usr/lib/php/20220829/readline.so.so (/usr/lib/php/20220829/readline.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0                                                                                                            PHP 8.2.20 (cli) (built: Jun 17 2024 13:33:14) (NTS)
    Copyright (c) The PHP Group
    Zend Engine v4.2.20, Copyright (c) Zend Technologies
        with Zend OPcache v8.2.20, Copyright (c), by Zend Technologies
    

    OSはDebianのbookwormで、Docker上で動かしています。

    PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
    NAME="Debian GNU/Linux"
    VERSION_ID="12"
    VERSION="12 (bookworm)"
    VERSION_CODENAME=bookworm
    ID=debian
    HOME_URL="https://www.debian.org/"
    SUPPORT_URL="https://www.debian.org/support"
    BUG_REPORT_URL="https://bugs.debian.org/"
    
    Docker version 26.1.4, build 5650f9b
    
  4. 次回からOSやDockerで動かしている旨などと言った基本的な情報は、質問元に貼って頂けると他の方も回答しやすくなります。

    /lib/x86_64-linux-gnu/libedit.so.2も欠けてるようなのでlibedit2の再インストールしたほうがいいでしょう。

    あと質問元のログにldconfig: File /lib/x86_64-linux-gnu/**** is empty, not checked.と言った怪しいログがたくさんありますからこれ以外にもライブラリが欠けていると思われます。

    Debianとのことで、ライブラリはパッケージ検索することででてますから今後もライブラリが空(empty)と表示されるようなら自身で探してください。
    エラーが出たら闇雲にアンインストールせず、ログを確認して何が起こっているのか確認してください。


    (追記)
    libc-binも再インストール(ライブラリの詰め合わせ)した方が早いかもしれません。

Your answer might help someone💌