32ビットOSではsignedintip2long
が返され、64ビットOSではunsignedintが返されるようです。
私のアプリケーションは10台のサーバーで動作しており、一部は32ビットで一部は64ビットであるため、すべてが同じように機能する必要があります。
PHPのドキュメントには、その結果を常に署名なしにするためのトリックがありますが、データベースがすでにデータでいっぱいになっているので、署名してもらいたいと思います。
では、PHPでunsignedintをsignedintに変更するにはどうすればよいでしょうか。