タイトル

執筆:2024.04.04
編集:2024.04.06


cygwin 3.5  PHP-8.3.4

$ uname -ro
3.5.1-1.x86_64 Cygwin

cygwinの環境が独自仕様の変数とか配置とかで
標準のLinuxと違うみたいで
標準のphpのソースだとそのまま通らないみたい。

cygwin環境は
パッチを当てないとPHPのビルドはできません。

以前XP用にXP未サポートのPHP5.6をビルドしたことがあったので、なんとなくconfigureの仕組みは知っていたので、書き換えてみた。

php.cygportのパッチ作り直し
fedoraの分はすぐ手に入ったのでそのまま差し替えて流用。
残りは、不要なものは無視して、必要そうなものだけ ちゃちゃちゃと書き換えて完了。

コンパイル通らない。

なんでphp.cygport全部ひとまとめにしているのだろう。
基本パッケージcli,sapi毎(cgi,apache),extを最低でもわけるべき。
extなんかbuild後に自動でphplizeすればいいことでしょ。デバッグできないような余計なパッケージして手間かけさせて迷惑。
全部まとめるならオプション渡して必要なものに変更できるようにしないと。

自分の用途で動けばいいだけなのでパッケージとかは考えない。

cygport prepでパッチまで当てて、
残りは、./confugiureで使用する環境に合わせる

./configure --prefix=/usr/local/php/8 $OPTIONS_CONF
config.status: executing default commands

+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+

Thank you for using PHP.


make
落ちたところで少し修正
原因が分かったので解決。


あら、作業開始後に cygwinのバージョンが変わってる
$ uname -ro
3.5.3-1.x86_64 Cygwin


完成!!
uname -ro && sapi/cli/php -v




動作確認完了

やったね!🥂

システムのPHPと置き換え
make install

OK 🍕

デフォルトのphp消してもいいかも?
apt-cyg remove php


🍳 phpのインストールパスをシステムに登録して完成。
nano ~/.bashrc
export PATH="/usr/local/php/8/bin:$PATH"

今回はさすがに無理かと思いました🤣🤮

少し手間かかりましたが いけましたね。💯

$ php -r "echo 'PHP'.phpversion().'-'.PHP_OS;"
PHP8.3.4-CYGWIN_NT-10.0-19045

cygwin で PHP8 完🎉🍭

» 続きを読む