Bir x64 PHP / MySQL 64bit Windows Server desteği tam 64bit damgalarını inşa edecek

0 Cevap php

Muhtemelen aptalca bir soru, ama cevap bulmak gerekir. Bir uygulama biz uzak geçmiş ve gelecek tarihleri ​​işlemek için ihtiyaçlarını yazıyoruz, ve ben 64bit Unix zaman damgaları gibi bizim tarihlerini ele düşünmek kolay bir çözüm olacaktır ben maksimum int değer kılyorduk, PHP manual doğru anlamak sağladı platform bağımlı ve daima imzaladı. X86 platformu 2 ^ 31 max sokması desteklemelidir iken Böylece bir x64 platformu 2 ^ 63 sokması desteklemelidir.

Temel olarak, uygulama yalnızca bizim oldukça karmaşık algoritmalar biraz 'biraz' daha basit hale getirmek için tamsayı damgaları ile ilgilenir. Mevcut x86 yapı için PHP 2 ^ 31 - Ancak, uzak geçmişte ya da gelecekte damgası değerleri işlemek için çalışırken + / daha büyük herhangi bir değer için beklenen taşmasına neden olur. Benim çözüm sadece x64 PHP ücretsiz görsel c + + stüdyo download inşa derlemek için, ama ben o içine dalış önce benim varsayım doğru olup olmadığını bilmek istiyorum - "A Windows x64 PHP build will correctly handle 64bit int values, and correctly convert the Windows 'ticks' into a 64bit Unix Timestamp for its native date/time functions as it does for a x86 build."

Örneğin:

echo mktime(0, 0, 0, 12, 31, 2055);

yerine, doğru zaman damgası döndürür false.

The same thing applies for MYSQL timestamps. Örneğin:

SELECT UNIX_TIMESTAMP('2065-11-30 10:30:19');

yerine doğru değeri dönecektir '0' biz çalıştırıyorum mevcut x86 kurmak için yaptığı gibi.

-Ben de belirsiz değilim umuyoruz. Şimdiden teşekkürler. Biz sadece burada bilim meraklılarının değil, gerçek programcılar bir demet konum, ve bu 'önemsiz' sorunu ile mücadele etmektedir.

0 Cevap