![[PHP]local.ERROR: compact(): Undefined variable:エラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/06/php.jpg)
はじめに
チームで開発をしていた際に陥ったエラーです。
自分のローカル環境や開発サーバーではエラーにならないのにあるメンバーだけエラーで落ちるという事象が発生しました。その時のメモです。
発生事象
エラーの出るメンバーのログにはlocal.ERROR: compact(): Undefined variable:というエラーが出力されていました。
compactで存在しない変数を渡すとエラーになっているようだということ。
しかしPHPのリファレンスには「設定されていない全ての文字列は、単にスキップされます。」と書かれている。軽くググっても無視されるということ。
解決
何か他の原因があるのかと探っていたところ、参考になる記事を発見。
PHP7.3でMake compact function reports undefined passed variablesという提案があり採用された模様。
自身のローカル環境や開発サーバーのPHPのバージョンは7.1でした。
自分のローカルのPHPを7.3にあげて検証してみると見事に事象を再現。
解決に少し時間がかかりましたが存在しない場合はcompactに入れないよう処理を記述しfixしました。
以上です。
![[Android][AdMob]テストでは広告が表示されるのに本番のPlay Storeに公開したら広告が表示されない件について](https://www.yukiiworks.com/wp-content/uploads/2019/04/android-300x219.jpg)
![[Google Play Console]アップロードできませんでした Android App Bundle は署名されていません。エラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/06/google-play-300x181.jpg)
![[Android]paddingしたListViewのスクロールバー位置の変更方法](https://www.yukiiworks.com/wp-content/uploads/2019/04/android-150x150.jpg)
![[Laravel][mailtrap]Expected response code 354 but got code ''550'', with message ''550 5.7.0 Requested action not taken: too many emails per second ''エラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/05/laravel-150x150.png)
![[Docker]起動済みのMySQLデータを永続化させる](https://www.yukiiworks.com/wp-content/uploads/2019/08/docker-logo-2-150x150.png)

![[iOS]Can’t end BackgroundTask: no background task exists with identifier 1 (0x1), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.エラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/09/Xcode-150x150.png)
![[Kotlin][Android]BottomNavigationViewとViewPagerを用いたタブ遷移の実装](https://www.yukiiworks.com/wp-content/uploads/2019/04/kotlin-150x150.png)

