Mac. PHP. fopen( ) does not create a file. Permissions.

Thank you to those who responded.
After a crazy amount of troubleshooting and getting hints and feedback from others, I was so darn determined to get on with my tutorials and I found the solution myself.

Keyword search: php and 'Mac computer' and fopen and chmod.
Using: php and Mac and fopen() didn't get me there.

I hope this forum allow for URL insertion. Others do.
PHP fopen() not creating file. - MacRumors Forums

  1. This is the solution that I used.
    It was all about PERMISSIONS and I used the Mac Finder.

This is my DocumentRoot path: /Library/WebServer/Documents
This is the path to the directory where I am saving all of my example programs from tutorials:
/Library/WebServer/Documents/phpWithAlex

This was how I went about troubleshooting this just to make certain that I was clear about at which level I needed to allow 'read and write' permissions. I should have started from php/WithAlex but I started on the top.

From the Mac Finder I navigated to Library and changed permissions to 'read and write' at all 3 levels:
System
Wheel
Everyone.
From the Mac Finder I navigated to WebServer and changed permissions to 'read and write' at all 3 levels:
System
Wheel
Everyone.
From the Mac Finder I navigated to Documents and changed permissions to 'read and write' at all 3 levels:
System
Wheel
Everyone.

I kept running the code which uses the fopen() function each time to see if I was able to create a new file and that this file ACCEPTED DATA input from my form.

The code which is in the previous post, DID INDEED CREATE the file when I used FOPEN() once I changed permissions to 'read and write' for all levels on phpWithAlex.

Then I worked for the bottom back up the tree and reset permissions to just 'read' etc. etc.
I wanted to find out the least amount of permissions required to run the code.
The only folder that requires permissions set to 'read and write' for all 3 levels: system, wheel, everyone Was phpWithAlex.

  1. I like to work at the command line.
    You can use terminal on a Mac and set permissions using the chmod() function. Here is the link.... Which explains many things and also why you may or may not want certain permissions at different levels.

permissions - How to set chmod for a folder and all of its subfolders and files in Linux Ubuntu Terminal? - Stack Overflow

If you read the last post, you will notice that I also modified my phi.ini and I ; un-commented a line
to find out if this allowed fopen() to work. It did not.
Then i set the ;comment =On rather than = Off etc. etc. it still did not allow fopen to work.
I am on a tablet or I would just copy paste those lines of code here.
If I leave this page and go to another and come back, this entire post disappears.
I learned that the hard way and had to start the post all over again.
I actually was curious so I put the ;comment back and it did not reintroduce the obstacle that I started with,
that fopen() would NOT create the file.

I am posting this exact post on 5 other forums that I am now frequenting because it was very time consuming to find this resolution. Although, this exact problem was not resolved from these forums, I LEARNED A TON FROM VERY HELPFUL PEOPLE WHO ARE JUST DONATING THERE TIME. IS THIS WHAT KEEPING THE INTERNET FREE IS ALL ABOUT ? Sure it is. Thank ALL of you.

NOTE: I navigated away from this post to copy the URL and I lost my entire post and had to start over.
Also, it is not easy to find my own posts once I logon- if they do NOT have new comments.
It is really helpful to have a PREVIEW option.

Usually, on UNIX and friends like apple, the directory permissions may prevent your ID/Group from creating files. open(2): open/possibly create file/device - Linux man page
EACCES The requested access to the file is not allowed, or search permission is denied for one of the directories in the path prefix of pathname, or the file did not exist yet and write access to the parent directory is not allowed. (See also path_resolution(7).) path_resolution(7) - Linux man page

Thanks for taking the time to reply. Yes, That was the problem. I had to allow permissions on the file at all levels. I am really Sorry about the late response. I ended up locking myself out of phpMyAdmin (MySQL) and that became a priority.