mysqldump исключает новое обновление apache

Таким образом, у меня есть инвентарь на веб-сайте. Я ежедневно перевожу инвентарь со своего локального компьютера на мой размещенный веб-сайт, чтобы поддерживать его в актуальном состоянии. Таким образом, я в основном делаю изменения на своем локальном компьютере, а затем позволяю всем обновлениям запускаться каждую ночь, используя mysqldump для сбора ресурсов. У меня был свой веб-сайт на виртуальном хостинге, и он работал отлично. На сайте продолжалось простоя, поэтому я попытался перейти на VPS-сервер Bluehost. Теперь сервер, на котором я работаю, настроен по-другому, и дамп больше не работает.

Вот что происходит:
Дамп проходит около 25% пути, а затем выходит. Из 40 тыс. Предметов инвентаря он загружает только 9-11 тыс. Каждый раз, когда я пытаюсь. Приводит меня к мысли, что есть или проблема тайм-аута, или проблема размера данных. Весь процесс загружался за 1 минуту, а теперь завершается примерно через 20 секунд.

То, что я уже пробовал, — это изменение файла конфигурации myql my.cnf путем добавления этих строк:

net_read_timeout = 7200
net_write_timeout = 7200

А вот мой код:

<?php
ini_set('max_execution_time', 0);
set_time_limit(0);
ini_set('set_memory_limit', -1);
ini_set('display_errors', 1);
error_reporting(E_ALL);

include "globe/globalvariables.php";

$output = exec(
"mysqldump -h ".$local_business_ip.
" -u".$local_business_db_admin_login.
" -p".$local_business_db_admin_password.
" ".$local_business_inventory_db_name.
" ".$local_business_inventory_table_name." | mysql -h ".$web_db_host.
" -u".$web_db_admin_login.
" -p".$web_db_admin_password.
" ".$web_db_name);

echo "done";
?>

Я также попытался изменить первую строку exec на:

 mysqldump nohup -h ".$local_business_ip.

Но nohup просто пропускает всю операцию, как будто это плохая команда или что-то в этом роде.

Я также пробовал shell_exec, system и pass_thru или passthru.
Я также обновил MYSQL до 5.6 на сервере.

Я искал ответы в течение двух дней. У любого тела есть подсказка, что я могу сделать? Я считаю, что это какая-то проблема с настройкой Apache. Кстати, я на сервере Bluehost VPS с WHM. И никакой Bluehost не помогает вообще! Они также не сказали мне, что конфиг будет сброшен или что-то еще.

Я нашел это в руководстве по PHP:

_ «Функция set_time_limit () и директива конфигурации max_execution_time_
влияет только на время выполнения самого скрипта. Любое время, потраченное на деятельность, которая происходит вне выполнения скрипта, таких как системные вызовы с использованием system (), stream операции, запросы к базе данных и т. д. не учитываются при определении максимального времени сценарий был запущен. Это не так в Windows, где измеренное время реально ».

Не уверены, КАК сделать ограничение по времени для exec и системных функций выше?

0

Решение

Так что я новичок, но я нашел, где был журнал ошибок apache, и увидел эту ошибку:
mod_fcgid: чтение тайм-аута данных за 40 секунд, …

после поиска ошибки на гугле этот сайт помог!

http://blog.secaserver.com/2011/07/cpanel-apache-php-fastcgi-data-timeout-error

Это с этого сайта:
* Если вы работаете на сервере cPanel и в Apache включен FastCGI, вы можете столкнуться со следующей ошибкой, которая вызвала зависание вашего сайта, или с появлением сообщения «500 Internal Server Error». При входе в / etc / httpd / log / error_log вы увидите нечто похожее на приведенное ниже:

[warn] .. mod_fcgid: чтение тайм-аута данных за 40 секунд, …
[ошибка] .. Преждевременное завершение заголовков скриптов: index.php …

Это связано с тем, что mod_fcgid достиг тайм-аута при обработке данных разбора. Поэтому нам нужно увеличить некоторые соответствующие значения:

  1. Войдите в WHM> Конфигурация Apache> Редактор включения> Включить включение VirtualHost> Все

  2. Скопируйте и вставьте следующий код:

    FcgidProcessLifeTime 8200
    FcgidIOTimeout 8200
    FcgidConnectTimeout 400
    FcgidMaxRequestLen 1000000000

  3. перезапустите apache *

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]