【问题标题】:php require filephp需要文件
【发布时间】:2012-10-30 10:33:39
【问题描述】:

我无法要求提供文件:

$path_requires = "/var/www/vhosts/website.com/v3" ;

require("$path_requires/vars.inc.php") ;

错误是:

/var/www/vhosts/website.com/portraits 致命错误:require():失败 打开所需的'/var/www/vhosts/website.com/v3/vars.inc.php'

如果我从终端做:

cat /var/www/vhosts/website.com/v3/vars.inc.php

我检查了目录的权限。网站.com。它是:

drwxr-xr-x 17 apache psaserv 4096 Oct 18 03:32 v3

我更改了对该目录的权限,但没有成功。

有谁知道发生了什么。为什么我不能要求这个 php 文件?

【问题讨论】:

  • 你能显示v3文件夹和.i​​nc.php文件的权限吗?
  • 您的路径要求是 /var/www/vhosts/website.com/v3 并且在您的控制台中询问 /var/www/vhosts/bookonlive.com/v3 是正常的?
  • 错误消息在 /var/www/vhosts/website.com/ 中查找,而您从 /var/www/vhosts/bookonlive.com/ 中查找,这不是同一个文件夹。
  • 我认为他只是以 website.com 为例。
  • v3 文件夹:drwxr-xr-x 17 apache psaserv 4096 Oct 18 03:32 v3 获取文件的权限。我不知道。我不能再访问服务器了。连接超时!

标签: php require


【解决方案1】:

它可能正在您的实际主机中寻找 /var/www/vhosts 文件夹,但很明显没有找到它。试试:

$path_requires = "/v3" ;

require("$path_requires/vars.inc.php") ;

【讨论】:

  • 我有同样的错误。但是有 2 个子域: sub1.mysite.com sub2.mysite.com 当脚本在 sub2 上执行时,我必须能够要求来自一个 sub1 的文件。这就是为什么我尝试从根系统 /__/__/etc 中获取文件...
  • 然后尝试添加一个级别,website.com 我很确定发生了什么,因为它在浏览器中,它被目录结构弄糊涂了。您的网站外部(在浏览器中)看不到您的虚拟主机的内部结构。
【解决方案2】:

用这个检查

$path_requires = "https://www.website.com/v3" ; (base url)

require("$path_requires/vars.inc.php") ;

【讨论】:

【解决方案3】:

phpinfo() 结果:

open_basedir    /var/www/vhosts/website.com/portraits/:/tmp/    no value

/etc/php.ini:

;open_basedir =

如何改变局部值?如果我更改 /etc/php.ini 本地值将占上风。

/website.com/portraits/ Portraits是子域portraits.website.com的目录

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    • 2011-12-15
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    相关资源
    最近更新 更多