file_get_contents() – often just hangs for any indefinite amount of time
-
EN:
We already talked to you a year ago because of the broken simplexml_load_file() function.
https://www.ads-software.com/support/topic/504-gateway-time-out-became-now-and-norm-if-plugin-disabled/the other day I needed to transfer the site to https:// and I updated your plugin from v6.0 to v7.0
and what is the result? Hosting started to slow down! the first few pages load normally, and then nothing loads, neither the site nor the admin panel.
The logs had the following errors:
line 33
the file cannot be taken by file_get_contents() because even such a /json/ folder is not in the plugin!!$style_json = plugins_url('/json/styles.json',__FILE__); $json = file_get_contents($style_json);
file_get_contents() – often just hangs for any indefinite amount of time. I already had this.
line 39
respectively
foreach($styles as $style) {
will not work.I had to replace your function with my cropped one.
I also did with version 6.0 to make the site work.I ask you to make my changes to your function so that it does not request non-existent files and does not slow down
* * *
RU:
Мы уже с Вами общались год назад из-за неработающей функции simplexml_load_file().
https://www.ads-software.com/support/topic/504-gateway-time-out-became-now-and-norm-if-plugin-disabled/на днях мне понадобилось перевести сайт на https:// и я обновил Ваш плагин с v6.0 до v7.0
и что в итоге? начал тормозиться хостинг! первые несколько страниц грузятся нормально, а потом ничего не грузится, ни сайт ни админка.
в логах такие ошибки были:
line 33
файл не может быть взят file_get_contents(), потому что даже такой папки /json/ не в плагине!!$style_json = plugins_url('/json/styles.json',__FILE__); $json = file_get_contents($style_json);
file_get_contents() – часто просто зависает на любое неопределённое время. у меня такое было уже.
line 39
соответственно
foreach($styles as $style) {
не будет работать.мне пришлось заменить вашу функцию на свою обрезаную.
также я делал и с версией 6.0 чтобы сайт работал.прошу вас внести мои правки в свою функцию чтобы она не запрашивала несуществующие файлы и не тормозила
* * *
recurring errors in knigi.ozozhe.ru.error.log
2022/08/11 05:37:56 [error] 10209#10209: *47596 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.1, server: knigi.ozozhe.ru, request: “GET /wp-content/plugins/seo-breadcrumbs/json/styles.json HTTP/1.0”, upstream: “https://127.0.0.1:8080/wp-content/plugins/seo-breadcrumbs/json/styles.json”, host: “knigi.ozozhe.ru”
[Thu Aug 11 05:37:56.944818 2022] [cgi:error] [pid 14600] [client 192.168.1.1:52812] AH01215: PHP Warning: file_get_contents(https:// knigi.ozozhe.ru/wp-content/plugins/seo-breadcrumbs/json/styles.json): failed to open stream: HTTP request failed! in /var/www/u6579/data/wp/knigi.ozozhe.ru/wp-content/plugins/seo-breadcrumbs/functions.php on line 33: /var/www/php-bin-isp-php74/u6579/php
[Thu Aug 11 05:37:56.945165 2022] [cgi:error] [pid 14600] [client 192.168.1.1:52812] AH01215: PHP Warning: Invalid argument supplied for foreach() in /var/www/u6579/data/wp/knigi.ozozhe.ru/wp-content/plugins/seo-breadcrumbs/functions.php on line 39: /var/www/php-bin-isp-php74/u6579/php`
<strong>My</strong>
function seo_breadcrumbs_styles() { $style_str = "#breadcrumbs-style0 a ,#breadcrumbs-style0 span {color: sbc_before_fontcolor;}#breadcrumbs-style0 a:hover{color: sbc_after_fontcolor;}#breadcrumbs-style0 .separator{color: sbc_separator_color;}"; $arr2 = array('sbc_before_bgcolor','sbc_after_bgcolor','sbc_before_fontcolor','sbc_after_fontcolor','sbc_separator_color'); for( $x=0; $x<count($arr2); $x++) { $arr1[$x] = get_option($arr2[$x]); } $style_str =str_replace($arr2,$arr1,$style_str); return "\n\n"."<style type=\"text/css\">"."\n".$style_str."\n"."</style>"."\n\n"; }
<strong>original</strong>
function seo_breadcrumbs_styles() { $style_id = get_option('sbc_id'); $index = (int)substr($style_id,-1); $style_json = plugins_url('/json/styles.json',__FILE__); $json = file_get_contents($style_json); $styles = json_decode($json,true); $arr0 = $arr1 = $arr2 = []; $style_str=""; $x=0; foreach($styles as $style) { $arr0[$x] = $style['code']; $x++; } $arr2 = array('sbc_before_bgcolor','sbc_after_bgcolor','sbc_before_fontcolor','sbc_after_fontcolor','sbc_separator_color'); for( $x=0; $x<count($arr2); $x++) { $arr1[$x] = get_option($arr2[$x]); } $style_str =str_replace($arr2,$arr1,$arr0[$index]); return sprintf('<style type="text/css">%1$s</style>',$style_str); }
- The topic ‘file_get_contents() – often just hangs for any indefinite amount of time’ is closed to new replies.