Categories

Plantillas Destacadas

Error: Open_basedir restriction in effect. File(X)不在允许的路径(s)内:Y

Alex Ross octubre 22, 2012
Rating: 3.3/5. From 15 votes.
Please wait...

open_basedir PHP保护是一种安全措施,可以防止用户使用PHP打开位于主目录之外的文件或脚本。, 除非该文件夹已被明确排除. 如果启用了PHP设置open_basedir, 所有文件操作都仅限于指定目录下的文件, ,从而防止未经授权的用户访问php脚本. Si un script trata de abrir un fichero por medio de, por ejemplo, fopen() o gzopen(), la ubicación del fichero es verificada. 文件是否位于指定的或允许的目录之外, PHP将拒绝打开它,您可以得到错误:

Warning: file_exists() [function.file-exists]: open_basedir限制生效. File(/home/user_name/public_html/wp-content/uploads/2006/12/picture.(/home/user_name:/usr/lib/php:/usr/local/lib/php:/tmp)不在/home/user_name/public_中允许的路径内html/wp-admin/inline-uploading.php on line 226

有关更多信息,请参阅官方PHP手册。 open_basedir.

我们建议您联系您的供应商 hosting para que ellos resuelvan el problema.

有两种方法可以解决这个问题:

  1. 第一个解决方案是禁用PHP保护open_basedir或取消对某些特权用户帐户的保护。, 或者允许访问PHP脚本的附加目录.

    • Si Usted está utilizando WebHost Manager (WHM) del panel de control, 可以很容易地禁用PHP保护open_basedir或排除某些用户。 WHM. 只需在“Security”部分打开“Tweak Security”。, 点击“Php open_basedir Tweak”中的“Configure”链接。. 在这个选项中,您可以启用或禁用open_basedir php保护或排除和包含主机。.

    • 如果您正在使用控制面板 hosting Plesk,您可能需要手动编辑配置文件。 Apache vhost.conf y vhost_ssl.,并在php_admin_value open_basedir中添加或编辑以下行:

      php_admin_value open_basedir none php_admin_value open_basedir /full/path/to/dir:/full/path/to/directory/httpdocs:/tmp

      open_basedir后面的路径是虚拟主机域帐户中PHP脚本专用的目录。, 因此,您可以添加更多的目录,其中包含您需要通过PHP打开的文件。, cada uno separado por color “:”.

      运行以下命令使更改生效并重新启动Web服务器。 Apache httpd(重启apache2ctl或重启httpd).

    • 如果您必须手动编辑配置文件 Apache 要禁用PHP保护open_basedir,请打开httpd文件.conf并查找以以下字符开头的行:

      php_admin_value open_basedir …..

      将用户帐户虚拟主机下的整行替换为以下行:

      php_admin_value open_basedir none
  2. 您还可以允许您的PHP脚本访问附加目录,在这种情况下不需要禁用保护。. 附加目录可以添加到以颜色“:”分隔的行中。. Por ejemplo, para añadir /new_directory a la lista de permitidos:

    " /home/user_account/:/usr/lib/php:/usr/local/lib/php:/tmp " php_admin_value open_basedir " /home/user_account/:/usr/lib/php:/usr/local/lib/ PHP:/tmp:/new_directory

    Reinicie Apache después de terminar la edición. 注意,目录权限列表限制实际上是一个前缀。, no es un nombre de directorio. 这意味着“open_basedir = /dir/incl”也允许访问“/dir/include”和“/dir/incls”。. 如果希望限制对指定目录的访问,请使用对角线。. Por ejemplo: “open_basedir = /dir/incl/”.

Submit a ticket

如果您仍然找不到足够的教程来解决您的问题, 请使用下面的链接发送门票给我们的支持团队。. 我们将在24小时内回复: Enviar un ticket