我正在使用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”文件有任何想法吗?
最佳答案
除非您指定路径,否则所有文件系统功能都将在进程的当前工作目录上运行。您可以通过调用getcwd
查明是什么。
关于php - file_put_contents写入哪里?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34029258/