我尝试使用PHP localhost/PhpProject3/create.php创建新文件夹:
<?php mkdir('newdir', 0777); ?>
Run Code Online (Sandbox Code Playgroud)
但是这段代码没有这样做.它也不起作用:
<?php mkdir('/var/www/PhpProject3/newdir',0777); ?>
Run Code Online (Sandbox Code Playgroud)
我安装了LAMP.我认为问题出在设置中(可能是chmod?)因为PHP脚本有效.例如,我创建简单的test.php:
<?php echo 'Great'; ?>
Run Code Online (Sandbox Code Playgroud)
并运行它: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>
Run Code Online (Sandbox Code Playgroud)
我也无法使用touch()创建文件.
谁能帮我 ?
And*_*dén 11
您的网络服务器运行的是哪个用户?你可以看到,如果你写
ps aux
Run Code Online (Sandbox Code Playgroud)
并看看.它可能是用户www-data(如果你使用ubuntu).
然后你将dir 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运行.
| 归档时间: |
|
| 查看次数: |
14394 次 |
| 最近记录: |