我正在使用Authorize.NET的SDK,我是通过作曲家引入的。它位于我的应用程序的vendor / authorizenet目录中。
我正在努力解决由Authorize.NET的Log类(在命名空间net \ authorize \ util中)调用file_put_contents的权限错误。在类的顶部,为日志文件定义了一个常量:
define ("ANET_LOG_FILE","phplog");
每当我尝试向Authorize.NET提交请求时,我都会收到以下信息:
file_put_contents(phplog): failed to open stream: Permission denied
所以很明显会出现某种权限错误,这会阻止Log类写入phplog文件。但是,我无法弄清楚哪个目录有权限错误。
我在vendor / authorizenet文件夹上尝试了递归chmod -R 777
。我在我的工作区目录上尝试了chmod 777
(不是递归的)。我也在vendor/authorizenet/authorizenet/lib/net/authorize/util
(Log.php所在的位置)上尝试过相同的操作,但这也没有用。
有关目录file_put_contents正在查找' phplog'的任何想法文件?
答案 0 :(得分:4)
除非指定路径,否则所有文件系统函数都会在进程的当前工作目录上运行。您可以致电getcwd
了解相关信息。
答案 1 :(得分:0)
我明白了。我正在使用Laravel,因此使用getcwd
指出在调用file_put_contents时我当前的工作目录是我的public
目录。