Php 文件\u获取\u内容():无法打开流:权限被拒绝

Php 文件\u获取\u内容():无法打开流:权限被拒绝,php,url,file-upload,permissions,Php,Url,File Upload,Permissions,我正在尝试从url加载image。 在localhost中一切正常 当我在我的Web服务器上运行代码时 警告:文件获取内容(url):无法打开流:第64行的/home/www/../imageup.php中的权限被拒绝 我在google上搜索过,并尝试了stackoverflow中的许多答案。 每个人都说要对文件和文件夹设置适当的权限 我已经为php文件设置了权限,并将文件夹设置为777 有些回答说要运行一些命令,但我找不到运行这些代码的控制台,所以我手动允许了权限 我能理解有些事是经过允许的,

我正在尝试从
url
加载
image
。 在
localhost
中一切正常

当我在我的Web服务器上运行代码时

警告:文件获取内容(url):无法打开流:第64行的/home/www/../imageup.php中的权限被拒绝

我在
google
上搜索过,并尝试了
stackoverflow
中的许多答案。 每个人都说要对文件和文件夹设置适当的权限

我已经为
php文件
设置了
权限
,并将文件夹设置为
777

有些回答说要运行一些命令,但我找不到运行这些代码的控制台,所以我手动允许了权限

我能理解有些事是经过允许的,但我无法理解。 (有人可能会说这是重复的,也可能是重复的,但我没有找到解决办法)


请转到项目根目录并运行以下命令

find . -type d -exec chmod 770 {} \; && find . -type f -exec chmod 660 {} \;

我希望它能解决您的问题。

这是因为
图像
tmp\u文件上传
只能由
root
用户写入。为了使上传工作正常进行,我们需要使这些文件夹的所有者与httpd进程所有者相同,或者使它们全局可写(糟糕的做法)

1.检查apache进程所有者:
$ps aux | grep httpd
。第一列是所有者,通常是
nobody

2.将图像和tmp文件上传的所有者更改为
nobody
或步骤1中找到的任何所有者

$sudo chown nobody/var/www/html/mysite/images/

$sudo chown nobody/var/www/html/mysite/tmp\u file\u upload/

3.Chmod
images
tmp\u文件上传
现在可以由所有者写入,如果需要[看起来您已经准备好了]。在@Dmitry Teplyakov回答中提到

$sudo chmod-R 0755/var/www/html/mysite/images/

$sudo chmod-R 0755/var/www/html/mysite/tmp\u file\u upload/


4.有关此行为发生的更多详细信息,请查看手册,注意手册中也提到了
open\u basedir
指令。

3个问题。1) 什么是src?2) 你的webhost根目录是什么3)你能在php文件的同一文件夹中的文件上使用该函数吗
$image['src']
返回一个
url
,就像
http://example.org/image.png
如果您的权限被拒绝,则表示
allow\u url\u fopen
为false。请参阅此问题。您的网络托管提供商不允许此操作。
allow\u url\u fopen
允许在我的服务器上运行此代码是否需要控制台或其他东西?还是在文件中作为代码?
find . -type d -exec chmod 770 {} \; && find . -type f -exec chmod 660 {} \;