PHP 不创建文件夹 mkdir()

标签 php apache

我尝试使用 PHP localhost/PhpProject3/create.php 创建新文件夹:

<?php mkdir('newdir', 0777); ?>

但是这段代码并没有做到这一点。它也不起作用:

<?php mkdir('/var/www/PhpProject3/newdir',0777); ?> 

我安装了 LAMP。我认为问题出在设置中(也许是 chmod ?),因为 PHP 脚本有效。例如我创建了简单的 test.php:

<?php echo 'Great'; ?>

然后运行它:localhost/PhpProject3/test.php 结果很好。

我使用 Netbeans。 这里是文件:/var/www/PhpProject3 。 我运行它:localhost/PhpProject3/... /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>

我也无法使用 touch() 创建文件。

谁能帮帮我?

最佳答案

您的网络服务器以哪个用户身份运行?你可以看到,如果你写

ps aux

然后看看。它可能是用户 www-data(如果你使用 ubuntu)。

然后您将目录 chown 给该用户并授予该用户对该目录的写入权限。

chown www-data /var/www/PhpProject3

chmod u+w /var/www/PhpProject3

另一种方法是使用组权限。

chgrp www-data /var/www/PhpProject3

chmod g+w /var/www/PhpProject3

假设网络服务器作为组 www-data 运行。

关于PHP 不创建文件夹 mkdir(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16373953/

相关文章:

apache - 如何将子域映射到服务器上的文件夹?

python - 使用 Python Flask、mod_wsgi、apache2 - 无法获得自定义 500 错误页面

php - 将图像从表单上传到文件系统

php - MySQL - 在查询中插入验证

php - PHP 中的聚合和委托(delegate)是什么?

php - 使用户能够收藏帖子

php - 在我的 linux 服务器上,我收到一个 php 错误,但我看不到错误,为什么?

php - wamp 服务器 500 内部服务器错误

php - 如何找到导致 Apache/PHP 常驻内存使用量过高的罪魁祸首模块或脚本?

PHPUnit 配置 (phpunit.xml)——在 Bootstrap 中加载?