a.php
<?php $SETTING = [1,2,3];
b.php
#!/usr/bin/php -q <?php require_once "a.php"; echo $SETTING[0];
このとき、普通に b.php を実行するとちゃんと 1 が出力される。a.phpで定義した変数が正しく認識されている。
しかし、PhpStormでは 未定義です とか言ってエラー扱いになる。 なんでだよ
回避策は、(本来は無駄で無意味だが) global 宣言を書いてしまう
b2.php
#!/usr/bin/php -q <?php require_once "a.php"; global $SETTING; echo $SETTING[0];