Установка PHP с unixODBC

Данная процедура установки на основе Apache 1.3.12 и PHP 3.0.16, но идентична по крайней мере к Apache 1.3.6 и php 3.0.9. PHP4 из бета-версии 3 будет иметь опцию настроить для использования UnixODBC так что большинство из перечисленных ниже будет излишним.

Этот документ предполагает, что UnixODBC был построен и установлен, в этом случае в расположении по умолчанию/usr/local, и что и Apache и PHP были не просмолены в домашнем каталоге пользователя.

1.  В директории Apache выполните следующую команду

./configure –prefix = / www

также любой другой локальной конфигурации, в которой Вы нуждаетесь

2.  Создайте файл в /usr/local/include, названном odbc.h, содержащим следующие три линии

#include <sql.h>
#include <sqlext.h>
#include <odbcinst.h>

заменяя /www с Вашим желаемым apache путь установки

3.  Перейдите в каталог PHP. Определите следующие переменные окружения

CFLAGS=”-I/usr/local/include”
LDFLAGS=
CUSTOM_ODBC_LIBS=”-L/usr/local/lib -lodbc”

не забудьте экспортировать эти переменные

export CFLAGS LDFLAGS CUSTOM_ODBC_LIBS

4.  Настройка PHP с

./configure –with-apache=../apache_1.3.12 –with-custom-odbc=/usr/local –enable-track-vars

также любой другой локальной конфигурации, в которой вам необходима, потом

make
make install

5.  Вернитесь в вашу директорию Apache и сделайте

./configure –prefix=/www –activate-module=src/modules/php3/libphp3.a
make
make install

6.  Обратно в каталог PHP. Затем, чтобы указать от PHP УСТАНОВИТЕ

cp php3.ini-dist /usr/local/lib/php3.ini
You can edit /usr/local/lib/php3.ini file to set PHP options.
Edit your httpd.conf or srm.conf file and add:
AddType application/x-httpd-php3 .php3

И так должно быть.

 

Поддержка Apache DSO

 Дополнительная проблема будет обнаружена, если вы создаете PHP как динамический общий объект с Apache. Так как по умолчанию UnixODBC сборок с помощью поддержкой потоков и по умолчанию Apache не будет делат , если они не связаны друг с другом в сборке и лишь встретиться в рабочем режиме комбинация потерпит неудачу.

Есть два способа обойти это либо определить и экспортировать следующие переменные окружения перед созданием Apache

export CFLAGS=-D_REENTRANTexport LFLAGS=-lpthread./configure –prefix=www

или перестроить UnixODBC без поддержки потоков путем настройки ./configure –enable-threads=no

В обоих случаях не забудьте удалить файл config.cache из корневой директории Apache или UnixODBC

Если кому-либо понадобится помощи, хорошо, никаких проблем, дайте мне знать.       nick@unixodbc.org

Ник Горам

Источник: http://www.unixodbc.org/doc/php3.html

Leave a Reply