Марат-блог
Услуги по продвижению и разработке сайта
Отправить заявку
Заказать обратный звонок

Спасибо, Ваша заявка принята.

В ближайшее время менеджер свяжется с Вами.

Главная » DEV » Как установить библиотеку GMP Math на сервере / VPS ?
Как установить библиотеку GMP Math на сервере / VPS ?
Программирование
1023
10 сентября 2014

Как установить библиотеку GMP Math на сервере / VPS ?

Это набор функций которые позволяют работать с целыми числами произвольной точности с использованием библиотеки 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 была скомпилирована

Если вы просто клиент какого либо хостинга и вам необходима эта библиотека, вам необходимо будет попросить установить ее у технической поддержки вашего хостинга.
Если они не знают как, можете показать мою статью :)