Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where does file_put_contents write to?

Tags:

php

I am working with Authorize.NET's SDK, which I pulled in through composer. It's sitting in the vendor/authorizenet directory in my app.

I am struggling with a permissions error for a call to file_put_contents made by Authorize.NET's Log class (in namespace net\authorize\util). At the top of the class, a constant is defined for a log file:

define ("ANET_LOG_FILE","phplog");

Every time I try to submit a request to Authorize.NET, I get the following:

file_put_contents(phplog): failed to open stream: Permission denied

So obviously there is some kind of permissions error going on that is preventing the Log class from writing to the phplog file. However, I can't figure out what directory has the permissions error.

I tried a recursive chmod -R 777 on the vendor/authorizenet folder. I tried a chmod 777 on my workspace directory (not recursive). I also tried the same on vendor/authorizenet/authorizenet/lib/net/authorize/util (where Log.php is located), and that also didn't work.

Any ideas about what directory file_put_contents is looking in for the 'phplog' file?

like image 450
Joe Magaro Avatar asked Oct 21 '25 14:10

Joe Magaro


1 Answers

Unless you specify a path, all filesystem functions work on the process's current working directory. You can find out what that is by calling getcwd.

like image 142
Jon Avatar answered Oct 23 '25 03:10

Jon



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!