WordPress — Php microtime () не работает на живом сайте. В поисках обходного пути

У меня есть Zend Server 6.3 и Php 5.4 на Windows. И система работает очень хорошо. Теперь я переместил код на живой сайт, который запускает Php 5.3.29 на Ubuntu Server с DirectAdmin. Все остальные сайты работают хорошо там. Но мой текущий веб-сайт дает мне эту ошибку (сайт на WordPress 4.3):

Warning: mysql_connect(): Headers and client library minor version mismatch.
Headers:50541 Library:50623 in /home/cheapauto/domains/*DOMAIN*/public_html/wp-includes/wp-db.php on line 1482
Parse error: syntax error, unexpected '[' in /home/*USER*/domains/*DOMAIN*/public_html/wp-content/plugins/*MY-PLUGIN*/includes/final.class.NRSBooking.php on line 101

Линия такая:

$now = explode(' ', microtime())[1];

И вся моя функция плагина такова:

private function getIncrementalHash($length = 5)
{
//$charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
$charset = "ABCDEFGHIJKLMNPRSTUVYZ"; // fits LT & EN, O is skipped to similarity to Zero
$charsetLength = strlen($charset);
$result = '';

$now = explode(' ', microtime())[1];
while ($now >= $charsetLength)
{
$i = $now % $charsetLength;
$result = $charset[$i] . $result;
$now /= $charsetLength;
}
return substr($result, -$length);
}

Есть идеи, как заставить это работать на живом сайте?

По ссылке Php http://php.net/manual/en/function.microtime.php
это говорит:

microtime () возвращает текущую метку времени Unix с микросекундами. это
функция доступно только в операционных системах, которые поддерживают
Системный вызов gettimeofday ().

И я использую эту функцию для генерации уникального нового кода бронирования:

$newBookingCode = "R".$validNextMySQLInsertId."A".$this->getIncrementalHash(5);

Спасибо!

0

Решение

Разыменование массива, то есть получение результатов от функции, которая возвращает массив, например:

$now = explode(' ', microtime())[1];

доступно с php5.4

За php5.3 и старшее использование:

$now = explode(' ', microtime());
$now = $now[1];
2

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

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

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