PHP fopen使用HTTPS返回403 Forbidden

时间:2017-01-08 10:55:47

标签: php https fopen

我在拥有Linux,Apache和php 5.2.17的托管网站上,其中allow_url_fopen = true,这是一个用 fopen检查图像是否存在的php页面(fopen($ _ SESSION [' IMG_DIR_REL&#39] ;]。" /img/img5.jpg"," rb")); 我不使用file_exists,因为它返回"没有&#34 ; :-(。 该页面位于子目录./test/和子目录上的图像./img/ 如果我使用http(http://www.example.com/test/control.php)访问该页面,则fopen可以完美地提供正确的图像。 但是如果我使用https(https://www.example.com/test/control.php)访问同一页面,我得到了 fopen(https://www.example.com/img/img5.jpg)[function.fopen]:无法打开流:HTTP请求失败! HTTP / 1.1 403禁止。 如果我改为fopen(fopen(" ../ img / img5.jpg"," rb"));它适用于https。 我搜索了一下,测试了类似案例的一些例子,但没有任何作用。 你有什么建议吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

这很可能意味着Apache无法访问" /img/img5.jpg"。

如果是这种情况,您需要更改文件的权限或所有权。

确保文件的所有者是运行服务器的组的一部分。

默认情况下,Apache在httpd组上运行。