PHP - PHP 7.4 → 8.0 - オプション設定

 クラウディア
1. 概要
2. php80
3. php80-extensions
4. mod_php80
5. ZTS

1. 概要

 主なパッケージは、先にオプション設定を行っておきます。  これは、後でわかって、書き直したのですが、今回「ZTS」オプションをはずします。  実機でどうなるかわかりませんが。  「ZTS」オプション付きで「make」したところ。

service apache24 configtest
 したところで、問題発生。

Performing sanity check on apache24 configuration:
httpd: Syntax error on line 183 of /usr/local/etc/apache24/httpd.conf: Cannot load libexec/apache24/libphp.so into server: /usr/local/libexec/apache24/libphp.so: No space available for static Thread Local Storage
 どうも、ターゲットでは、メモリ不足におちいるらしいのです。  これは、後日、解決しましたが、結構苦労しましたので、末尾の「ZTS」の項をご参照ください。

2. php80


cd /usr/ports/lang/php80
make config
 デフォルトの状態を掲載しておきます。
「/usr/ports/lang/php80」-「make config」

 デフォルトのままで。
 「ZTS」オプションが、もしはいっていれば、はずします(つけらるまで、待つべき!)。

3. php80-extensions


cd /usr/ports/lang/php80-extensions
make config
 オプションが、「7.4」に比べて、少し少なくなっています。  デフォルトの状態を掲載しておきます。  特に記載のないものは、デフォルトのままで。
「/usr/ports/lang/php80-extentions」-「make config ①」

 「GD」「GETTEXT」は、よく使うモジュールなのでチェックしておきます。


「/usr/ports/lang/php80-extentions」-「make config ②」

 「INTL」は、よく使うモジュールなのでチェックします。
 「MBSTRING」は必須でチェックします。
 「MYSQLI」は、「MySQL」を使うのであれば、必須でチェックします。
 「WordPress」を使うのであれば、「OPENSSL」は、必須でチェックします。


「/usr/ports/lang/php80-extentions」-「make config ③」

 「PostrgreSQL」を使うのであれば、「PGSQL」は必須でチェックします。


「/usr/ports/lang/php80-extentions」-「make config ④」


 「WordPress」を使うのであれば、「ZLIB」は、必須でチェックします。

4. mod_php80


cd /usr/ports/www/mod_php80
make config
 デフォルトの状態を掲載しておきます。
「/usr/ports/www/mod_php80」-「make config」

 デフォルトのままで。
 「ZTS」オプションが、もしはいっていれば、はずします(つけらるまで、待つべき!)。

5. ZTS

 これは、「PHP」(?)のバージョンアップ時にときどき、起こる現象のようです。  「PHP 7.x」の次期にもそういう現象があったようです。  「PHP 8.0」では、「PHP 8.0.12」で、「ZTS」のオプションをつけたもので「make」しても、「apache」が起動できるようになりました。  「ZTS」のオプションをつけていないと、スレッドを必要とするような、コンフィグレーションを設定できないので、「ZTS」オプションをつけられるようになるまで、待った方がよいかと思います。  一度「ZTS」オプションを外したものでインストールしてしまうと、「ZTS」オプションをつけたものに入れ替えるには「mod_php80」「php80-*」をすべて「make」してインストールしなおす必要があるので、そうとうな労力を必要とします。
ハイスピードプラン5G CONNECTそれがだいじWi-Fi