Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP don't create the folder mkdir()

Tags:

php

apache

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 ?

like image 243
user1518451 Avatar asked May 04 '13 11:05

user1518451


People also ask

Why does mkdir not create directory?

mkdir: cannot create directory – Permission denied The reason for this error is that the user you're running the mkdir as, doesn't have permissions to create new directory in the location you specified. You should use ls command on the higher level directory to confirm permissions.

Does mkdir create a folder?

The mkdir command in Linux/Unix allows users to create or make new directories. mkdir stands for “make directory.” With mkdir , you can also set permissions, create multiple directories (folders) at once, and much more.

Why is mkdir permission denied?

[ErrorException] mkdir(): Permission denied. That means you do not have write permission on your project folder. Create a new folder, say 'myproject and run sudo chmod 777 myproject . Then move to 'myproject' folder and create project.


1 Answers

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.

like image 69
Anders Lindén Avatar answered Oct 30 '22 09:10

Anders Lindén