Это набор функций которые позволяют работать с целыми числами произвольной точности с использованием библиотеки GNU MP в PHP
Была необходимость установить библиотеку GMP для PHP. Исследовал страницы интернет и были найдены решения как это сделать.
Не так часто это нужно но может кому-то пригодится.
Много операций можно делать через EasyApache (Apache Update) в WHM но к сожалению этого не сделать.
В WHM/CPanel не поддерживается компиляция библиотеки GMP в PHP
Прилагаю проверенный способ:
Заходим на сервер через SSH и выполняем следующее в командной строке
wget ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.1.tar.bz2
tar -xjvf gmp-4.3.1.tar.bz2
cd gmp-4.3.1
./configure
make
make check
make install
Сайт где можно скачать последнюю версию библиотеки GMP для PHP: http://gmplib.org/#DOWNLOAD
Далее создаем файл:
vi /var/cpanel/easy/apache/rawopts/all_php5
(по всей вероятности этого файла нет и вы его создадите редактором vi)
добавляем строчку
--with-gmp
После этого пересобираем PHP
в WHM это делается просто через
EasyApache (Apache Update) он находится в разделе Software
Выбираем нужные параметры, или используем уже готовые ваши заготовки настроек. Заодно можно и обновить PHP и т.п.
или просто пересобрать PHP по умолчанию в командной строке
/scripts/easyapache
Компилируем и все готово!
Прилагаю код скрипта, для проверки
Создаете файл и откройте через браузер,
например: test.php в него вставьте код, представленный ниже
Функция вычисления факториала с использованием GMP
<?php
function fact ($x) {
if ($x <= 1)
return 1;
else
return gmp_mul ($x, fact ($x-1));
}
print gmp_strval (fact (1000)) . "\n";
?>
Факториал 1000 будет вычислен (довольно большое число) весьма быстро.
Вот что должно отобразится : 40238726007709377354370243392300............................
Если вы увидите много цифирок то значит работает а если ошибка, то вероятно вы что то сделали не так.
Еще, что бы убедится что библиотека скомпелирована с PHP,
создайте файл phpinfo.php и запустить его
в него вставте следующий код:
<?
phpinfo();
?>
На экране через браузер вы увидете конфигурацию вашего PHP, и в самом начале будет такая строка : Configure Command
в этом списке должно быть ... '--with-gmp' ...
Если она есть то значить все в порядке и библиотекой GMP была скомпилирована
Если вы просто клиент какого либо хостинга и вам необходима эта библиотека, вам необходимо будет попросить установить ее у технической поддержки вашего хостинга.
Если они не знают как, можете показать мою статью :)