Установка MAX_EXECUTION_TIME для класса codeigniter не работает - PullRequest
1 голос
/ 14 июня 2019

Размещение инструкции ini_set('MAX_EXECUTION_TIME', '-1') в верхней части скрипта или в верхней части временной жадной функции (как в приведенном ниже коде), похоже, не работает, и я всегда получаю следующую ошибку:

Неустранимая ошибка : Превышено максимальное время выполнения 300 секунд

Где должна находиться инструкция?

public function generate_no_pass_link()
{
    ini_set('MAX_EXECUTION_TIME', '-1');
    $encoder = $this->di->find('ssl_cipher');
    $storage = $this->di->find('storage');
    $salt = $storage->executeSQL("select text from translations where entity='Salt'", \PDO::FETCH_ASSOC)[0]['text'];

    $url = 'https://mydomain/usuario/actualizar_datos/';
    $sql = "select id from clients where state=512 and created_at between  1514764801 and 1559347199";
    $result = $storage->executeSQL($sql);

    try{
        foreach($result as $id){
            $client = $storage->findOneBy('Client',array('id'=>$id));
            $link = $url . urlencode($encoder->encode($client->getEmail(), $salt));
            $client->setLogin_link($link);
            $storage->persist($client);
            $storage->flush();
        }
    }catch(Exception $e){
        echo $e->getMessage();
    }
    echo "Links generados con éxito";
}

1 Ответ

0 голосов
/ 14 июня 2019

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

<?php ini_set('MAX_EXECUTION_TIME', '-1'); 

public function generate_no_pass_link()
{
  //"Your code going here"
}
?>

Или вы можете изменить файл php.ini на вашем сервере

/etc/php5/cgi/php.ini
/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini

найти эту строку:

max_execution_time = 30 //change it to -1

Его значение по умолчанию варьируется от сервера к серверу.Вы можете изменить его на -1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...