В общем вот, что оказалось. В файле wp-blog-header.php нужно убрать
ob_end_clean(); и ob_start();
После этого плагин нормально заработал, но стала писать другая ошибка, которую вызывает другой плагин (убедился в этом выключив все плагины кроме WP Super cache). Буду копать дальше, о результатах отпишусь, так как в гугле нет решения.
---------- Добавлено 31.05.2015 в 22:19 ----------
Каждый второй плагин нарушает работу Feed.
Может кто-то сталкивался? Если решить проблему для всех плагинов сразу способом выше, то WP Super Cache его ломает и конфликтует.
---------- Добавлено 31.05.2015 в 22:58 ----------
Провел экспеимент. Открыл плагин Seo by Yoast, провел, что если он работает то лента работает. Открыл его файл php и перед <?php поставил пробел. В результате лента Feed сломалась. Получается, что все плагины, которые нарушают работу имею аналогичные проблемы. Главный вопрос в том, как найти эти самые проблемы, не перебирать же вручную сотни файлов.
Логично, что раз плагин что-то нарушает, значит дело в его коде.
---------- Добавлено 31.05.2015 в 19:57 ----------
Просто у меня сайт жрет довольно много ресурсов CPU, поэтому кеширование должно исправить ситуацию, но без рабочего feed я не могу, тк новости экспортируются в новостные агрегаторы.
---------- Добавлено 31.05.2015 в 21:41 ----------
Длительное время покопавшись в плагине я нашел описание проблемы:
Output buffer may have been corrupted by another plugin or this is a redirected URL. Look for text 'ob_start' in the files of your plugins directory.No closing html tag.
Как именно смотреть эти скрипты? Так не должно быть?
---------- Добавлено 31.05.2015 в 13:23 ----------
lealhost: Сайт пробовали запускать в других PHP режимах?
Нужно смотреть скрипты сайта в первую очередь и все логи в уровне debug.
Другие режимы пробовал, примерно тоже самое.
Сейчас отключил все плагины на сайты, но ситуация по-прежнему такая же.
---------- Добавлено 31.05.2015 в 14:20 ----------
Забавно, но на каждого посетителя сайта отводится примерно 15% двух ядер CPU. Не думаю, что так должно быть....
---------- Добавлено 31.05.2015 в 14:29 ----------
Я думаю мне нужно сделать перезагрузку Fast-FPM если время ожидания больше нескольких секунд например. Можно ли это реализовать?
То есть например пользователь грузит страницу более 5 секунд, затем сервер Fast-FPM сам перезагружается, пользователь на доли секунды видит 502 ошибку, а затем сразу открывается его ссылка.
Andron_buton: ОС, по симптомам похоже, что просто не установлено пхп, для дебиан к примеру
apt-get install php5
Да нет, вроде бы все стоит. В файле default по адресу /etc/nginx/site-available/ есть такое код:
# You may add here your
# server {
# ...
# }
# statements for each of your virtual hosts to this file
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
listen 80; ## listen for ipv4; this line is default and implied
listen [::]:80 default_server ipv6only=on; ## listen for ipv6
root /usr/www;
index index.php;
# Make site accessible from http://localhost/
server_name localhost;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.php;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
# Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
#location /RequestDenied {
# proxy_pass http://127.0.0.1:8080;
#}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /usr/share/nginx/www;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# root html;
# index index.html index.htm;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
Andron_buton: Kepus, какую ошибку при этом выдает? Что в логах нгинкса и в логах фпм?
Ошибки нету, просто пишет: <?php phpinfo(); ?> Это мой тестовый код)
Если я все правильно понял, то логи nginx находятся тут? /var/log/nginx/error.log
2015/05/30 10:08:29 [emerg] 7022#0: duplicate listen options for [::]:80 in /etc/nginx/sites-enabled/site:22
2015/05/30 10:08:29 [emerg] 7023#0: duplicate listen options for [::]:80 in /etc/nginx/sites-enabled/site:22
2015/05/30 10:09:14 [warn] 7068#0: conflicting server name "localhost" on 0.0.0.0:80, ignored
2015/05/30 10:09:14 [warn] 7069#0: conflicting server name "localhost" on 0.0.0.0:80, ignored
2015/05/30 10:09:14 [emerg] 7069#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/05/30 10:09:14 [emerg] 7069#0: bind() to [::]:80 failed (98: Address already in use)
2015/05/30 10:09:14 [emerg] 7069#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/05/30 10:09:14 [emerg] 7069#0: bind() to [::]:80 failed (98: Address already in use)
2015/05/30 10:09:14 [emerg] 7069#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/05/30 10:09:14 [emerg] 7069#0: bind() to [::]:80 failed (98: Address already in use)
2015/05/30 10:09:14 [emerg] 7069#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/05/30 10:09:14 [emerg] 7069#0: bind() to [::]:80 failed (98: Address already in use)
2015/05/30 10:09:14 [emerg] 7069#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/05/30 10:09:14 [emerg] 7069#0: bind() to [::]:80 failed (98: Address already in use)
2015/05/30 10:09:14 [emerg] 7069#0: still could not bind()
2015/05/30 10:15:40 [warn] 7080#0: conflicting server name "localhost" on 0.0.0.0:80, ignored
2015/05/30 10:15:40 [warn] 7081#0: conflicting server name "localhost" on 0.0.0.0:80, ignored
2015/05/30 10:15:40 [emerg] 7081#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/05/30 10:15:40 [emerg] 7081#0: bind() to [::]:80 failed (98: Address already in use)
2015/05/30 10:15:40 [emerg] 7081#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/05/30 10:15:40 [emerg] 7081#0: bind() to [::]:80 failed (98: Address already in use)
2015/05/30 10:15:40 [emerg] 7081#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/05/30 10:15:40 [emerg] 7081#0: bind() to [::]:80 failed (98: Address already in use)
2015/05/30 10:15:40 [emerg] 7081#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/05/30 10:15:40 [emerg] 7081#0: bind() to [::]:80 failed (98: Address already in use)
2015/05/30 10:15:40 [emerg] 7081#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
2015/05/30 10:15:40 [emerg] 7081#0: bind() to [::]:80 failed (98: Address already in use)
2015/05/30 10:15:40 [emerg] 7081#0: still could not bind()
А вот логи PHP-FPM из файла /var/log/php5-fpm.log
[30-May-2015 09:59:09] NOTICE: Finishing ...
[30-May-2015 09:59:09] NOTICE: exiting, bye-bye!
[30-May-2015 09:59:09] NOTICE: fpm is running, pid 6367
[30-May-2015 09:59:09] NOTICE: ready to handle connections
[30-May-2015 10:02:08] NOTICE: Finishing ...
[30-May-2015 10:02:08] NOTICE: exiting, bye-bye!
[30-May-2015 10:02:08] ERROR: [pool site] please specify user and group other than root
[30-May-2015 10:02:08] ERROR: FPM initialization failed
[30-May-2015 10:02:11] ERROR: [pool site] please specify user and group other than root
[30-May-2015 10:02:11] ERROR: FPM initialization failed
[30-May-2015 10:02:22] ERROR: [pool www] please specify user and group other than root
[30-May-2015 10:02:22] ERROR: FPM initialization failed
[30-May-2015 10:02:24] ERROR: [pool www] please specify user and group other than root
[30-May-2015 10:02:24] ERROR: FPM initialization failed
[30-May-2015 10:02:35] ERROR: [pool site] please specify user and group other than root
[30-May-2015 10:02:35] ERROR: FPM initialization failed
[30-May-2015 10:02:36] ERROR: [pool site] please specify user and group other than root
[30-May-2015 10:02:36] ERROR: FPM initialization failed
[30-May-2015 10:02:54] NOTICE: configuration file /etc/php5/fpm/php-fpm.conf test is successful
[30-May-2015 10:02:54] ERROR: [pool site] please specify user and group other than root
[30-May-2015 10:02:54] ERROR: FPM initialization failed
[30-May-2015 10:02:56] ERROR: [pool site] please specify user and group other than root
[30-May-2015 10:02:56] ERROR: FPM initialization failed
[30-May-2015 10:02:58] ERROR: [pool site] please specify user and group other than root
[30-May-2015 10:02:58] ERROR: FPM initialization failed
[30-May-2015 10:03:13] ERROR: [pool site] please specify user and group other than root
[30-May-2015 10:03:13] ERROR: FPM initialization failed
[30-May-2015 10:03:15] ERROR: [pool site] please specify user and group other than root
[30-May-2015 10:03:15] ERROR: FPM initialization failed
[30-May-2015 10:03:24] ERROR: [pool site] please specify user and group other than root
[30-May-2015 10:03:24] ERROR: FPM initialization failed
[30-May-2015 10:03:42] ERROR: [pool site] please specify user and group other than root
[30-May-2015 10:03:42] ERROR: FPM initialization failed
[30-May-2015 10:03:55] NOTICE: fpm is running, pid 6853
[30-May-2015 10:03:55] NOTICE: ready to handle connections
[30-May-2015 10:06:23] NOTICE: Finishing ...
[30-May-2015 10:06:23] NOTICE: exiting, bye-bye!
[30-May-2015 10:06:23] NOTICE: fpm is running, pid 6955
[30-May-2015 10:06:23] NOTICE: ready to handle connections
В общем вот, что оказалось. В файле wp-blog-header.php нужно убрать
ob_end_clean(); и ob_start();
После этого плагин нормально заработал, но стала писать другая ошибка, которую вызывает другой плагин (убедился в этом выключив все плагины кроме WP Super cache). Буду копать дальше, о результатах отпишусь, так как в гугле нет решения.
---------- Добавлено 31.05.2015 в 22:19 ----------
Каждый второй плагин нарушает работу Feed.
Может кто-то сталкивался? Если решить проблему для всех плагинов сразу способом выше, то WP Super Cache его ломает и конфликтует.
---------- Добавлено 31.05.2015 в 22:58 ----------
Провел экспеимент. Открыл плагин Seo by Yoast, провел, что если он работает то лента работает. Открыл его файл php и перед <?php поставил пробел. В результате лента Feed сломалась. Получается, что все плагины, которые нарушают работу имею аналогичные проблемы. Главный вопрос в том, как найти эти самые проблемы, не перебирать же вручную сотни файлов.
Логично, что раз плагин что-то нарушает, значит дело в его коде.
---------- Добавлено 31.05.2015 в 19:57 ----------
Просто у меня сайт жрет довольно много ресурсов CPU, поэтому кеширование должно исправить ситуацию, но без рабочего feed я не могу, тк новости экспортируются в новостные агрегаторы.
---------- Добавлено 31.05.2015 в 21:41 ----------
Длительное время покопавшись в плагине я нашел описание проблемы:
Output buffer may have been corrupted by another plugin or this is a redirected URL. Look for text 'ob_start' in the files of your plugins directory.No closing html tag.
Такая же вроде была проблема, он меняет файл .htac.. Я его вернул в исходный код и все стало работать. Попробуйте так
Вы использовали mod_rewrite или php для хранения кеша?
---------- Добавлено 31.05.2015 в 19:02 ----------
Нет, мне этот способ к сожалению не помогает. Даже если все из .htaccess удалить при активированном плагине, то все равно та же ошибка.
Да вроде бы стоит APC. В info.php показывает, что он включен.
Как именно смотреть эти скрипты? Так не должно быть?
---------- Добавлено 31.05.2015 в 13:23 ----------
Сайт пробовали запускать в других PHP режимах?
Нужно смотреть скрипты сайта в первую очередь и все логи в уровне debug.
Другие режимы пробовал, примерно тоже самое.
Сейчас отключил все плагины на сайты, но ситуация по-прежнему такая же.
---------- Добавлено 31.05.2015 в 14:20 ----------
Забавно, но на каждого посетителя сайта отводится примерно 15% двух ядер CPU. Не думаю, что так должно быть....
---------- Добавлено 31.05.2015 в 14:29 ----------
Я думаю мне нужно сделать перезагрузку Fast-FPM если время ожидания больше нескольких секунд например. Можно ли это реализовать?
То есть например пользователь грузит страницу более 5 секунд, затем сервер Fast-FPM сам перезагружается, пользователь на доли секунды видит 502 ошибку, а затем сразу открывается его ссылка.
ОС, по симптомам похоже, что просто не установлено пхп, для дебиан к примеру
apt-get install php5
Да нет, вроде бы все стоит. В файле default по адресу /etc/nginx/site-available/ есть такое код:
---------- Добавлено 30.05.2015 в 18:42 ----------
Собственно вот как сейчас все выглядит:
Я положил файлы движка WordPress сюда: /var/www/
Вот тут я отредактировал файл Default /etc/nginx/site-available/
Код этого файла выше.
---------- Добавлено 30.05.2015 в 18:43 ----------
P.S. Руки уже опускаются (
Kepus, какую ошибку при этом выдает? Что в логах нгинкса и в логах фпм?
Ошибки нету, просто пишет: <?php phpinfo(); ?> Это мой тестовый код)
Если я все правильно понял, то логи nginx находятся тут? /var/log/nginx/error.log
А вот логи PHP-FPM из файла /var/log/php5-fpm.log
Вы считаете, что APC сначала может тормозить сайт, а через пару-тройку часов все будет отлично работать? Разве такое бывает?
Я уже столько материалов прочитал, что голова кругом идет)
Его все рекомендуют ставить на WordPress