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