我正在使用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/

10-09 18:47