【问题标题】:Cannot change allow_url_include value in PHP无法更改 PHP 中的 allow_url_include 值
【发布时间】:2014-12-24 17:37:38
【问题描述】:

我在运行Ubuntu 14.04 的PC 上使用PHP 5.5.9Apache 2.4.7。我试图包含一个位于另一个 Web 服务器中的 PHP 脚本,只是为了一些测试目的。但我似乎无法打开allow_url_include。我试过这个:

<?php
    echo(ini_get("allow_url_include") . "<br />");

    ini_set("allow_url_include", "On");

    echo(ini_get("allow_url_include"));
?>

它给了我这个输出:

0
0

我什至通过编辑实际的/etc/php5/apache2/php.ini 文件并设置allow_url_include = Off 进行了尝试,但还是一样。

我该怎么做?

【问题讨论】:

  • 尝试重新启动 apache(或网络服务器实例)
  • 是的,我是在使用 /etc/init.d/apache2 restart 更改 php.ini 文件后完成的。 Apache 重启了,但 allow_url_include 似乎仍然无法更改。
  • 在 php.ini 中搜索 allow_url_include 是否重复。
  • 来自我的 php.ini 文件:allow_url_fopen = On
  • 不,allow_url_include 没有重复项。

标签: php apache php-ini


【解决方案1】:

是的!它起作用了 :D 是的,那一行警告导致了它!我在原始 php.ini 文件中将其更改为 error_reporting = E_ALL,现在我可以将 allow_url_fopen 更改为 1。将其发布为答案,我会将其标记为已接受。感谢大家。 – lonekingc4


我看到了您的 pastebin 文件,其中包含您正在使用的代码:

error_reporting(E_ALL)
;   Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
;   Development Value: E_ALL
;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT

用途:

error_reporting = E_ALL 而不是error_reporting(E_ALL) - 因此,警告

Warning: syntax error, unexpected '('...

error_reporting(E_ALL) 用于将其放入 .php 文件中。

即:

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1);

// rest of code
  • 执行此操作,重新启动 Apache,您应该一切顺利。

旁注: Error reporting 只能在暂存阶段完成,而不能在生产阶段完成。

【讨论】:

    【解决方案2】:

    试试这个:

    ini_set('display_errors', true);
    ini_set('safe_mode', false);
    ini_set('allow_url_fopen', true);
    ini_set('allow_url_include', true);
    print_r(ini_get_all());
    
    
    ini_set('allow_url_include', 'on');
    

    【讨论】:

    • 我在这里说输出吗?
    • 不,还是这样的: [allow_url_fopen] => Array ( [global_value] => 1 [local_value] => 1 [access] => 4 ) [allow_url_include] => Array ( [global_value ] => 0 [local_value] => 0 [访问] => 4)
    • @lonekingc4 也许尝试将ini文件复制到当前目录
    • 如果你是本地服务器可以检查防火墙设置。
    • @Rizier123 我将 php.ini 复制到脚本所在的同一目录中。又是一回事。
    【解决方案3】:

    它失败了,因为它没有读取你的 php.ini

    我在尝试更改 Windows 上的 php.ini 时遇到了同样的问题,但无济于事。您必须找到正确的默认位置:

    创建一个test.php文件并添加phpinfo(); 在浏览器中打开文件并检查以下值:

    配置文件 (php.ini) 路径 C:\WINDOWS 加载配置文件 C:\WINDOWS\php.ini

    当您将 php.ini 文件移动到正确的位置并重新启动 php 服务器时,更改将最终生效。

    享受吧!

    【讨论】:

      猜你喜欢
      • 2014-10-17
      • 2011-03-24
      • 2015-03-20
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多