【问题标题】:PHP: Can't Set Open_basedirPHP:无法设置 Open_basedir
【发布时间】:2021-04-28 03:23:42
【问题描述】:

我尝试执行:

var_dump(ini_set("open_basedir",ini_get("open_basedir")));

使用 PHP 并得到 false

Apache 2. PHP 版本:5.3.28,它应该从脚本更改它,我在 php.net 文档中阅读的方式。

目前 open_basedir 是 .:/data/www/vhosts/hostname:/tmp

我尝试在具有相同操作系统、Apache 和 PHP 的本地服务器上执行此操作,一切正常。我尝试设置已经设置的值,因为我尝试调试为什么我不能在那里放置任何值。请帮忙!

【问题讨论】:

  • PHP 5.3 像 7 年前一样被淘汰,open_basedir 的行为并不总是相同。升级到相当现代的 PHP 版本。

标签: php apache php-ini open-basedir


【解决方案1】:

通常 open_basedir 在 php 5 中为 no value。(因此它可能返回 false ——如果您通过获取当前值来设置它并使用 var_dump 进行显示)。

我建议您使用以下内容来查看系统中 open_basedir 的实际值:

<?php
phpinfo();
?>

要进一步测试,请尝试以下代码:

  1. 使用ini_set设置值;
  2. 退货;
<?php
//var_dump(ini_set("open_basedir",ini_get("open_basedir")));

ini_set("open_basedir", ".\hello");
echo "The open_basedir value is :". ini_get('open_basedir');
?>

【讨论】:

  • 不,我有,只是想为网络应用程序配置。已经解决 - 检查所有 php ini 变量并查看 privs=4
猜你喜欢
  • 1970-01-01
  • 2012-11-26
  • 1970-01-01
  • 2013-02-28
  • 2014-02-16
  • 1970-01-01
  • 2013-02-25
  • 2014-04-05
  • 2011-04-06
相关资源
最近更新 更多