tp3.2.3 关于chdir导致namespace Event路径冲突的问题
echo $_SERVER['DOCUMENT_ROOT'] . '<br>';
echo getcwd().'<br>';
echo dirname(__FILE__);
chdir(dirname(__FILE__));
require_once("../thirdPay/OrderCreate.php");
require_once("../thirdPay/OrderQuery.php");
$rsa_helper = new RSAUtil(PayConfig::PRIVATE_KEY, PayConfig::PUBLIC_KEY);
$assasasasaEvent = new \BMGXXX\EventCCCCC\CCCCEvent();
echo $assasasasaEvent >get_MonthTable('dsds'). '<br>';
chdir会影响路事件的路径,导致命名空间的Event都找不到,原因就是工作目录发生了变化,切换了工作目录估计影响不仅仅是事件的路径。
很多包含路径都会被牵连,chdir这个函数真的要慎用,
有人说chdir先切换,用完了再切换回来,这太不可控了,影响了很多约定的默认用法,如果真的想包含文件,尽量不要用cdir,使用下面的方法直接包含
=========== ======================== ================ ============================
$curDir = dirname(__FILE__) . '/';
require_once($curDir . "../thirdPay/OrderCreate.php");
require_once($curDir . "../thirdPay/OrderQuery.php");
$rsa_helper = new RSAUtil(PayConfig::PRIVATE_KEY, PayConfig::PUBLIC_KEY);
$assasasasaEvent = new \BMGXXX\EventCCCCC\CCCCEvent();
echo $assasasasaEvent >get_MonthTable('dsds'). '<br>';