PHP don't create the folder mkdir()

apache, php

Solution

Which user does your webserver run as? You can see that if you write

ps aux

and take a look. It is probably the user www-data (if you use ubuntu).

Then you chown the dir to that user and give the user write permissions to the directory.

chown www-data /var/www/PhpProject3

and

chmod u+w /var/www/PhpProject3

An alternative is to instead use group permissions.

chgrp www-data /var/www/PhpProject3

and

chmod g+w /var/www/PhpProject3

assuming the webserver runs as group www-data.

Problem

I trying create new folder using PHP localhost/PhpProject3/create.php: ``` <?php mkdir('newdir', 0777); ?> ``` but this code doesn't do it. It also doesn't work : ``` <?php mkdir('/var/www/PhpProject3/newdir',0777); ?> ``` I installed LAMP. I think the problem is in the settings (maybe chmod ?) because PHP script works. For example i create simple test.php: ``` <?php echo 'Great'; ?> ``` and run it: `localhost/PhpProject3/test.php` the result is Great. I use Netbeans. Here are files: /var/www/PhpProject3 . I run it: localhost/PhpProject3/... The content of /etc/apache2/sites-available/default: ``` <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost> ``` I also can't create file using touch(). Can anyone help me ?

Original source