Windows で Zend Server 6.3 と Php 5.4 を使用しています。そして、システムは非常にうまく機能します。コードをライブ サイトに移動しました。これは、DirectAdmin を使用して Ubuntu サーバーで Php 5.3.29 を実行します。他のすべての Web サイトは正常に動作しています。しかし、現在の Web サイトでは次のエラーが表示されます (このサイトは 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);
ありがとうございました!