trying to turn on allow_url_fopen by putting php.ini in wordpress root does not work
ok so, Im building a fancy pants wordpress theme and part of the theme has php getting image widths and using those numbers to resize page elements. It works fine on my local machine, but when I put the theme on my hosted server using cpanel, it doesnt work.
I get this error
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
SO I thought if I made a php.ini file in the wordpress's root directory with this in it:
[PHP]
allow_url_fope开发者_运维百科n = 1
That would work, but it wont.
Is there anyway to get this to work?
Try to add this code to your .htaccess file:
php_value allow_url_fopen On
If it does not work, you will need ask your hosting provider about your php.ini file location, if it exists. If it does not, ask them to set this up for you in global php.ini file. Usually it's /etc/php.ini
Other plugin developers seem to use cURL to get around allow_url_fopen restrictions. It is probably best for you to find a way to make your theme work without requiring allow_url_fopen to be enabled. Many providers turn this off for security reasons.
None of these seemed to work on my host, and this is for a wordpress theme so it had to be a fix that could work for everyone so I just used jQuery. Tho if a users has their javascript turned off it wont work but I can live with that.
Using cURL will bypass the issue. Some information and details that may be helpful can be found here:
PHP Curl And Cookies
If you are on cPanel 11.58+ this is an option within the cPanel. You can do enable this by following these steps: 1. Login to cPanel. 2. Select "MultiPHP INI Editor" under the "Software" section 3. Select the domain you want to make this change for from the drop down 4. The first option will be "allow_url_fopen".
If you want to make the above change global in WHM you can so do something similar in multiphpini editor.
However, if you are on an older cPanel version you will have to edit your php.ini manually.
https://documentation.cpanel.net/display/ALD/MultiPHP+INI+Editor+for+cPanel
allow_url_fopen = on
Add to php.ini or php5.ini
Works with Joomla 3.1 hope that helps.
精彩评论