Установка · 1 min read · Oct 24, 2025

Установка модуля PHP-MSSQL на CentOS 5.0

Установка модуля PHP-MSSQL на CentOS 5.0

Автор и содержание: Тим Хаселаарс ( http://www.trinix.be)

Как вы могли заметить, в CentOS 5.0 нет доступного модуля/расширения PHP-MSSQL в стандартных репозиториях yum. Поэтому, если вы хотите его использовать, вы можете изменить бинарный файл PHP или скомпилировать модуль/расширение mssql. В этой статье я объясню, как скомпилировать модуль/расширение mssql.

Вам нужно активировать пользовательский репозиторий RPMForge (ранее известный как Dag Wieers): http://dag.wieers.com/rpm/packages/rpmforge-release/

Скачайте ваш специфический RPM и установите его:

wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-*.rpm  
rpm --install rpmforge-release-*.rpm

Следующий шаг — установить freetds, freetds-devel, php-devel и инструменты разработки.

yum groupinstall ‘Development Tools’
yum install freetds freetds-devel --enablerepo=rpmforge  
yum install php-devel

Далее мы изменим файл php.spec, который содержит конфигурацию php для компиляции.

vi /usr/src/redhat/SPECS/php.spec

Если у вас нет файла php.spec, вы можете скачать php src rpm.

wget centos.mirrors.skynet.be/pub/centos/5/os/SRPMS/php-5.1.6-5.el5.src.rpm

и далее

rpm –install php-5.1.6-5.el5.src.rpm

Затем выполните updatedb и найдите php.spec.

Отредактируйте строку CFLAGS= (~строка 310) файла php.spec - удалите -Wno-pointer-sign. Затем добавьте следующий фрагмент кода:

Group: Development/Languages
Requires: php = %{version}-%{release}, php-pdo
Summary: Модуль для PHP-приложений, использующих базу данных MSSQL.
provides: php_database
BuildRequires: freetds-devel

%description mssql
Пакет MSSQL содержит динамический общий объект, который добавит
поддержку доступа к базам данных MSSQL в php.

Начните сборку вашего php rpm:

rpmbuild -bb ./php.spec

Если вас попросят установить какие-либо зависимости, просто выполните yum install.

cd /usr/src/redhat/BUILD/php-5.1.6/ext/mssql/

Теперь мы собираемся создать модуль mssql, не переписывая бинарный файл php:

phpize  
./configure --with-mssql  
make  
make install

Теперь найдите файл mssql.so и убедитесь, что он находится в каталоге модулей, указанном в вашем php.ini. При необходимости скопируйте его в указанное место.

Последний шаг

vi /etc/php.ini

Добавьте эту строку в ваш php.ini:

extension=mssql.so

Сохраните php.ini и перезапустите Apache:

/etc/init.d/httpd restart

И вуаля, вы только что создали ваше модуль/расширение mssql, не изменяя ничего в базовой настройке CentOS 5 HTTPD/PHP.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.