试图通过将 php.ini 放入 wordpress 根目录来打开 allow_url_fopen 不起作用

Posted

技术标签:

【中文标题】试图通过将 php.ini 放入 wordpress 根目录来打开 allow_url_fopen 不起作用【英文标题】:trying to turn on allow_url_fopen by putting php.ini in wordpress root does not work 【发布时间】:2013-01-17 03:06:19 【问题描述】:

好吧,我正在构建一个花哨的 wordpress 裤子主题,部分主题有 php 获取图像宽度并使用这些数字来调整页面元素的大小。它在我的本地机器上运行良好,但是当我使用 cpanel 将主题放在托管服务器上时,它不起作用。

我收到此错误

Warning: getimagesize() [function.getimagesize]: http:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/yoursite/public_html/wpsite/wp-content/themes/yourtheme/styles/login.php on line 7

Warning: getimagesize(http://yoursite.com/wpsite/wp-content/uploads/2012/11/logo1.png) [function.getimagesize]: failed to open stream: no suitable wrapper could be found in /home/yoursite/public_html/wpsite/wp-content/themes/yourtheme/styles/login.php on line 7

所以我想如果我在 wordpress 的根目录中创建一个 php.ini 文件,其中包含以下内容:

[PHP]
allow_url_fopen = 1

这会起作用,但不会。

有没有办法让它工作?

【问题讨论】:

询问您的托管服务提供商。将 php.ini 文件放在您网站的路径中,只有在提供商将其设置为以这种方式工作时才有效。 为什么不使用本地路径而不是通过 url 加载自己的网站? + to Crontab: 或者这个设置不允许被覆盖。 我没有通过 url 加载我自己的网站,这就是 WP 拉图像的方式。它显然加载了整个路径。我真的不能要求我的托管服务提供商改变它,我正在为公众制作这个主题,所以我试图确保它全面运作。我想我将不得不找到另一种方法来获取图像大小...... 【参考方案1】:

尝试将此代码添加到您的 .htaccess 文件中:

php_value allow_url_fopen On

如果它不起作用,您需要向您的托管服务提供商询问您的 php.ini 文件位置(如果存在)。如果没有,请他们在全局 php.ini 文件中为您设置。 通常是 /etc/php.ini

【讨论】:

应该是php_flag,而不是php_value,因为期望值是二进制的。【参考方案2】:

其他插件开发者似乎use cURL 绕过了allow_url_fopen 限制。您最好找到一种无需启用 allow_url_fopen 即可使主题正常工作的方法。许多提供商出于安全原因将其关闭。

【讨论】:

【参考方案3】:

这些似乎都不适用于我的主机,这是一个 wordpress 主题,所以它必须是一个适用于所有人的修复程序,所以我只使用了 jQuery。如果用户关闭了他们的 javascript,它将无法工作,但我可以忍受。

【讨论】:

【参考方案4】:

使用 cURL 将绕过该问题。可以在此处找到一些可能有用的信息和详细信息:

PHP Curl And Cookies

【讨论】:

【参考方案5】:

如果您使用的是 cPanel 11.58+,这是 cPanel 中的一个选项。 您可以按照以下步骤启用此功能: 1.登录cPanel。 2. 选择“软件”部分下的“MultiPHP INI 编辑器” 3. 从下拉列表中选择要进行此更改的域 4. 第一个选项是“allow_url_fopen”。

如果您想在 WHM 中使上述更改全局化,您可以在 multiphpini 编辑器中执行类似的操作。

但是,如果您使用的是较旧的 cPanel 版本,则必须手动编辑 php.ini。

https://documentation.cpanel.net/display/ALD/MultiPHP+INI+Editor+for+cPanel

【讨论】:

【参考方案6】:
allow_url_fopen = on

添加到 php.ini 或 php5.ini

适用于 Joomla 3.1 希望对您有所帮助。

【讨论】:

以上是关于试图通过将 php.ini 放入 wordpress 根目录来打开 allow_url_fopen 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

El Capitan 上的 PHP.ini 位置

PHP致命错误:内存不足(分配80740352)(试图分配12352字节)

正确的 php.ini 文件 [重复]

phpstorm 使用 xdebug 进行调试

将 mongodb.so 添加到 php.ini 后 XAMPP (Apache) 崩溃

PHP 在 Php.ini 中启用 bz2 扩展