Помогите решить проблемку, выполняю одинаковый скрипт на разных хостингах и получаю разный результат. Вот пример демонстрирующий проблему:
Code:
<?
$a=0x57E1F7BC ^ 0x9502ACEA;
echo $a;
?>
Результат у одного хостера -1025287338, у другого 3269679958. Если вывожу число через dechex, то результат одинаковый. Первый вариант с отрицательным числом для меня правильный, ибо переменная с этим числом далее не раз используется в расчётах, например складывается с другой, а соответственно общий результат получается разным.
Тут вопрос скорее риторический... В частном случае со сложением выкрутился так:
Code:
function sign($a) {
if($a>0x7FFFFFFF)$a-=0x100000000;
return $a;}
Складывает теперь правильно, но появилась проблема в следующем месте. На этот раз результат работы функции ROR. Кстати, написал конечно очень коряво, как смог с нулевым знанием PHP, буду очень благодарен если кто подскажет короткий вариант с помощью логических операций. Цель соответствовать ассемблерному ror-у, то есть ушедший вправо бит появляется слева.
Ну и как водится, уверен, что это не последняя проблема... Как бы найти решение не в переделки скриптов, а может какие переменные поменять в php.ini что бы работали одинаково скрипты. PHP Version 5.2.6 на хорошем и 5.2.11 на проблемном.
Скорей всего "проблема" в том что у одного хостера 64 битный ПХП, а у другого 32 и соответственно у int разные размеры. Сам сталкивался с этой проблемой, когда ip2long разные результаты выдавал (в базу ложилось с 32х битного, а читалось на 64).
Так как это мной созданная тема в оффтопе, к тому же с уже решённой проблемой отрицательных чисел, было бы не плохо перевести её в русло публикации полезных фришных хостингов с поддержкой php. Думаю будет от этого польза многим. Люди, кто знает надёжные, устойчивые и бесплатные хостинги - пишите плиз адреса. А кто нибудь встречал фришный хостинг с кроном?
p.s. Для локальных извращений (без баз) можно использовать вариант проще, чем развёртывание апача. Google: php 2 exe
Посоветуйте бесплатный хостинг, где можно через ftp залить архив около 200mb, после чего иметь возможность давать прямую ссылку, ну и что-бы скорость скачивания не ограничивалась хостером...