Я запускаю задание Cron для скрипта PHP в Codeigniter для преобразования загруженных видео. Все выполняется без каких-либо проблем, но как только он получает вставки данных в базу данных я получаю эту ошибку:PHP Codeigniter 3 Сервер MySQL ушел
Error Number: 2006 MySQL server has gone away
Процесс в основном преобразует видео, если это было успешно создать эскиз и плакат с видео а затем вставьте видеоданные в базу данных. Я попытался добавить $this->db->reconnect();
в мою функцию модели. Вот эта функция:
function add_video($data)
{
//BECASUE THE CONVERSION TAKES SO LONG WE NEED TO RECONNECT TO THE DATABASE AFTER EACH EXEC
$this->db->reconnect();
$this->db->insert('video_uploads', $data);
}
Это не сработало, я все еще получил ошибку. Если добавить $this->db->reconnect();
после каждого exec
я получаю эти ошибки:
Message: mysql_ping() expects parameter 1 to be resource, boolean given
Message: mysql_real_escape_string() expects parameter 2 to be resource, boolean given
Подобно тому, как FYI я использую FFMPEG конвертировать мои видео.
Как я могу сохранить соединение в сети после завершения всех исполнений, чтобы я мог вставить данные в базу данных?
EDIT: вот что $this->db->reconnect();
функции CodeIgniter выглядит так:
public function reconnect()
{
if (mysql_ping($this->conn_id) === FALSE)
{
$this->conn_id = FALSE;
}
}
Проверьте это [ссылка] (http://stackoverflow.com/questions/1884111/sudden-mysql-server-has-gone-away-error-in-php-site) – Saty
Если преобразование происходит так долго, вы можете избежать соединения до тех пор, пока видео конверсия и не выполните вставку? Если нет, то, возможно, вы можете вручную отключить связь, конвертировать видео, свежее подключение и выполнить вставку. – MonkeyZeus
Спасибо @Saty Я добавил '$ this-> load-> database();' before' $ this-> db-> reconnect(); 'похоже, что он работает. Если вы хотите написать это, я отвечу. – iamthestreets