備忘録
PHPUnit のバージョンが分からない
FuelPHP は開発が進んでいるようで、進んでいるか分からない(coreは開発されているが、fuelは開発が止まっているので...)ので、PHPUnit は安全に昔めの 4.8 台をインストールしました。
新しい PHPUnit だと、PHPUnit/Autoload.php
がないので、使えません。
"require": {
... 省略,
"phpunit/phpunit": "^4.8"
},
PHP7 以前 の each などに関わるエラー
PHP8 を使っている場合は、出てきます。
黙って、PHP7 をダウンロードしましょう。自分は 7.3.33 にしました。
今回は、phpbrew というツールを使ってダウンロードします。
ただ、phpbrew で PHP7 をインストールするのに、PHP8.0台が必要なので、brew install php@8.0
と brew link --force php@8.0
などで、8.0台をインストールします。
自分の場合は、環境変数を下のように設定して、
# phpbrew
source ~/.phpbrew/bashrc
export OPENSSL_PREFIX=$(brew --prefix openssl@1.1)
export OPENSSL_CFLAGS="-I${OPENSSL_PREFIX}/include"
export CFLAGS="-I${OPENSSL_PREFIX}/include"
export OPENSSL_LIBS="-L${OPENSSL_PREFIX}/lib -lcrypto -lssl"
export PATH="/opt/homebrew/opt/php@8.0/bin:$PATH"
export LDFLAGS="-L$(xcrun --show-sdk-path)/usr/lib/system"
そして、次のコマンドを打ったら、ダウンロードできました。
phpbrew install 7.3.33 +pdo +mysql +default +zlib="$(brew --prefix zlib)" +openssl=$(brew --prefix openssl@1.1) -- --without-pcre-jit
+pdo
と +mysql
を忘れると後でインストールするのが面倒なので、忘れないようにしましょう。
phpunit command not found
これも FuelPHP のライブラリの内容を変更します。
変更するのは、app/core/packages/oil/config/oil.php
の 45, 46行目のところ。
+ 'autoload_path' => VENDORPATH.'/phpunit/phpunit/PHPUnit/Autoload.php' ,
+ 'binary_path' => VENDORPATH.'bin/phpunit' ,
これで直ります。