Назад | Перейти на главную страницу

500 Internal Server при импорте базы данных через PHP

Я получаю 500 Internal Server Error в моем веб-браузере сразу после просмотра php-страницы, на которой выполняется следующий скрипт:

exec ("mysql -h db.server.com -u myuser -pmypass db <db.sql");

Выполнение команды mysql занимает много времени, поскольку db.sql - это очень большой файл, и требуется время, чтобы отправить его на внешний сервер базы данных. Пока команда выполняется, все остальные страницы php на моих общих службах хостинга выдают ошибку внутреннего сервера 500.

Есть ли способ избавиться от ошибки внутреннего сервера 500 и запустить другие мои php-страницы? Есть ли лучший способ импортировать мой файл sql?

Попросите программу php сохранить файл SQL во временном месте на удаленном компьютере и иметь задание cron, которое запускается, ищет файлы в этом месте и втягивает их в MySQL.

Также настройте скрипт php для создания файла в том же каталоге, когда файл начинает загружаться, чтобы вы могли написать свое задание cron, чтобы игнорировать его, чтобы не пытаться читать его во время загрузки.

Можете ли вы запустить команду из оболочки вместо веб-страницы?