Содержание статьи

PHP-расширение Bcmath позволяет выполнять операции с числами произвольной точности, что критично для финансовых расчетов, криптографии и работы с большими числами. Без его активации функции вроде bcadd, bcsub или bcdiv не будут доступны, и попытка их использования вызовет ошибки.
Наличие Bcmath можно проверить с помощью команды php -m в терминале или функции phpinfo() в скрипте. Если расширение отсутствует, его необходимо установить через менеджер пакетов вашей ОС или включить вручную в конфигурационном файле php.ini.
После активации Bcmath требуется перезапуск веб-сервера (Apache, Nginx с PHP-FPM или встроенный сервер PHP), чтобы изменения вступили в силу. Проверка корректности работы расширения выполняется вызовом тестового скрипта с одной из функций Bcmath, например bcadd(‘123’, ‘456’), что вернет результат 579.
В этой статье представлен пошаговый процесс включения Bcmath, охватывающий проверку доступности, установку, настройку конфигурации и проверку работы на практике, чтобы сразу использовать функции для арифметики с высокой точностью.
Проверка наличия Bcmath в текущей версии PHP
Для проверки доступности Bcmath в установленной версии PHP откройте терминал и выполните команду php -m. Она выведет список всех активных расширений. Если в списке присутствует bcmath, расширение уже включено и готово к использованию.
Альтернативный метод – создать PHP-скрипт с вызовом phpinfo(). Сохраните файл, например, как info.php с содержимым <?php phpinfo(); ?> и откройте его в браузере. В разделе «Bcmath» будет указана версия расширения и активные настройки, включая scale – количество знаков после запятой по умолчанию.
Если Bcmath отсутствует в списке, необходимо установить и активировать расширение через менеджер пакетов вашей операционной системы или добавить строку extension=bcmath в php.ini, после чего выполнить перезапуск PHP.
Установка Bcmath через менеджер пакетов для Linux

Для Ubuntu и Debian используйте команду sudo apt install php-bcmath. После завершения установки выполните php -m | grep bcmath, чтобы убедиться, что расширение добавлено в список активных модулей.
В CentOS, RHEL и Fedora установка выполняется через yum или dnf командой sudo yum install php-bcmath или sudo dnf install php-bcmath. После этого рекомендуется перезапустить веб-сервер командой sudo systemctl restart httpd или sudo systemctl restart php-fpm, в зависимости от конфигурации.
Для точной версии PHP, например 8.2, укажите пакет с версией: sudo apt install php8.2-bcmath или sudo dnf install php-bcmath-8.2. Это исключает конфликт версий и гарантирует корректную работу функций Bcmath.
Активация расширения Bcmath в php.ini
Откройте файл php.ini, расположение которого можно узнать с помощью команды php —ini. Найдите строку с ;extension=bcmath. Если она закомментирована, удалите точку с запятой в начале строки, чтобы активировать расширение.
Если строка отсутствует, добавьте в php.ini следующую запись: extension=bcmath. Для PHP версий 7.4 и выше иногда требуется указать полный путь к библиотеке, например extension=/usr/lib/php/20220829/bcmath.so, где путь соответствует вашей системе и версии PHP.
После внесения изменений сохраните файл и перезапустите веб-сервер или PHP-FPM, чтобы новая конфигурация вступила в силу. Проверка активации выполняется через php -m или вызов функции phpinfo().
Перезапуск веб-сервера после включения Bcmath
После активации расширения Bcmath в php.ini требуется перезапуск веб-сервера, чтобы изменения вступили в силу. Команды зависят от используемого сервера и способа запуска PHP:
- Apache на Linux: sudo systemctl restart apache2 или sudo service apache2 restart.
- Nginx с PHP-FPM: sudo systemctl restart php8.2-fpm (замените 8.2 на вашу версию PHP) и sudo systemctl restart nginx.
- Встроенный сервер PHP: остановите текущий процесс php -S и запустите заново.
После перезапуска проверьте, что Bcmath активен:
- Выполните php -m | grep bcmath. Появление bcmath подтверждает активацию.
- Или создайте тестовый скрипт с phpinfo() и убедитесь, что раздел Bcmath отображается с версией и настройками.
Проверка работы Bcmath через команду php -m и скрипт

Для быстрой проверки работы Bcmath откройте терминал и выполните команду php -m. Если в списке модулей присутствует bcmath, расширение успешно подключено и доступно для использования.
Дополнительно можно создать тестовый PHP-скрипт. Например, сохраните файл test_bcmath.php с содержимым:
<?php
$result = bcadd(‘123456789123456789’, ‘987654321987654321’);
echo «Результат сложения: $result»;
?>
Использование функций Bcmath в простом примере
После активации Bcmath можно использовать функции для работы с большими числами и точными вычислениями. Ниже представлен пример основных операций с числами произвольной точности.
| Функция | Пример | Результат |
|---|---|---|
| bcadd | bcadd(‘123456789123456789’, ‘987654321987654321’) | 1111111111111111110 |
| bcsub | bcsub(‘987654321987654321’, ‘123456789123456789’) | 864197532864197532 |
| bcmul | bcmul(‘12345’, ‘67890’) | 838102050 |
| bcdiv | bcdiv(‘100’, ‘3’, 5′) | 33.33333 |
| bcmod | bcmod(‘100’, ‘7’) | 2 |
В примере показаны операции сложения, вычитания, умножения, деления с заданной точностью и вычисления остатка от деления. Такие функции позволяют работать с числами, превышающими стандартные ограничения типов PHP, без потери точности.
Вопрос-ответ:
Как проверить, включено ли расширение Bcmath в PHP?
Для проверки используйте команду php -m в терминале. Если в списке модулей есть bcmath, расширение активно. Также можно создать скрипт с phpinfo() и открыть его в браузере — в разделе Bcmath будет указана версия и настройки.
Что делать, если Bcmath отсутствует в списке модулей PHP?
Необходимо установить расширение через менеджер пакетов вашей системы. В Ubuntu и Debian выполните sudo apt install php-bcmath, в CentOS, RHEL или Fedora — sudo yum install php-bcmath или sudo dnf install php-bcmath. После установки активируйте расширение в php.ini и перезапустите веб-сервер.
Как правильно активировать Bcmath в файле php.ini?
Откройте php.ini, найдите строку ;extension=bcmath и удалите точку с запятой в начале. Если строки нет, добавьте extension=bcmath. Для некоторых версий PHP может потребоваться указать полный путь к библиотеке, например extension=/usr/lib/php/20220829/bcmath.so.
Какие команды использовать для перезапуска веб-сервера после включения Bcmath?
Для Apache: sudo systemctl restart apache2 или sudo service apache2 restart. Для Nginx с PHP-FPM: sudo systemctl restart php8.2-fpm и sudo systemctl restart nginx. Встроенный сервер PHP перезапускается путем остановки и повторного запуска php -S.
Как проверить работу функций Bcmath на практике?
Создайте тестовый скрипт, например, test_bcmath.php с кодом: $result = bcadd(‘123456789123456789’, ‘987654321987654321’); echo $result;. При запуске php test_bcmath.php вы получите 1111111111111111110, что подтверждает корректную работу Bcmath.
Как установить и проверить работу Bcmath в PHP на Linux?
Сначала проверьте наличие расширения с помощью команды php -m | grep bcmath. Если оно отсутствует, установите через менеджер пакетов: для Ubuntu и Debian выполните sudo apt install php-bcmath, для CentOS или Fedora — sudo yum install php-bcmath или sudo dnf install php-bcmath. После установки откройте php.ini и убедитесь, что строка extension=bcmath активирована. Затем перезапустите веб-сервер: для Apache sudo systemctl restart apache2, для Nginx с PHP-FPM sudo systemctl restart php-fpm. Для проверки работы Bcmath создайте скрипт с функцией bcadd, например: <?php echo bcadd(‘123456789’, ‘987654321’); ?>. При выводе 1111111110 расширение работает корректно.
