定義した定数をshell_execで使う

<?php
const BASE_DIR = dirname(__FILE__).'/../';

のようにして定義したBASE_DIRをshell_execで使う方法です。

$status = shell_exec("/bin/sh BASE_DIR/web/tmp.sh {$arg}");

と書いても、BASE_DIRの中身が展開されません。

argと同じように

$status = shell_exec("/bin/sh {$BASE_DIR}/web/tmp.sh {$arg}");

のように書きたい所ですが、constで定義した定数は$をつけずに展開されるので、上記のようには書けません。

以下のように

$status = shell_exec("/bin/sh " . BASE_DIR . "/web/tmp.sh {$arg}");

BASE_DIR". ."でくくれば展開されます。