PHP с поддержкой MS SQL
sidsoft67 7 июля, 2009 - 11:23
Здравствуйте уважаемые.
Прошу помощи, не проходите мимо.
У меня стоит Gentoo, на нем крутится APACHE + PHP + Perl все это с поддежкой MySQL PgSQL.
Вопрос: Как бы не нарушая текущую конфигурацию (просто очень много модулей докучи ставились ДО меня, и я их естественно не знаю) собрать всю эту связку с поддержкой MS SQL?
»
- Для комментирования войдите или зарегистрируйтесь
.
$ equery u dev-lang/php
?Думаю, снять бэкап (
quickpkg
), прописать в/etc/portage/package.use
дляphp
флагmssql
и...# emerge -av1 dev-lang/php
:wq
--
Live free or die
Anarchist
Дал команду:
вывело это (там еще подсветка цветная)
Не совсем понял команду для снятия дампа (букваль в двух словах что делает команда quickpkg или это нужно установить?)
И где прописывать для php флаг mssql (mssql.so)/
P.S. еще где то вычитал что нужно ставить пакет freetds. Или в данном случае он не обязателен?
.
Фактически это список установленных модулей.
Она создаёт на базе установленной программы её бинарный пакет.
Входит ЕМНИП в
gentoolkit
mssql.so
нигде прописывать не надо.У тебя в системе файл
/etc/portage/package.use
существует? Набор флагов дляdev-lang/php
в нём прописан?Если да, то просто включи флаг поддержки
mssql
, если нет, то# emerge -pv dev-lang/php >> /etc/portage/package.use
И приводишь к виду (
# vim /etc/portage/package.use
):dev-lang/php adabas apache2 bcmath berkdb birdstep bzip2 calendar cdb cgi cjk cli concurrentmodphp crypt ctype curl curlwrappers db2 dbase dbmaker debug discard-path doc empress empress-bcs esoob exif fastbuild fdftk filter firebird flatfile force-cgi-redirect frontbase ftp gd gd-external gdbm gmp hash iconv imap inifile interbase iodbc ipv6 java-external json kerberos kolab ldap ldap-sasl libedit mcve mhash msql mssql mysql mysqli ncurses nls oci8 oci8-instant-client odbc pcntl pcre pdo pic posix postgres qdbm readline recode reflection sapdb session sharedext sharedmem simplexml snmp soap sockets solid spell spl sqlite ssl suhosin sybase sybase-ct sysvipc threads tidy tokenizer truetype unicode wddx xml xmlreader xmlrpc xmlwriter xpm xsl yaz zip zlib
(включённые/выключенные флаги в соответствии с твоей конфигурацией, ручками включить mssql).
Обязателен. Но ставить его явно не стоит. Он будет установлен автоматически в качестве зависимости.
ЗЫ: Про
etc-update
не забудь.:wq
--
Live free or die
-
Даю команду
quickpkg
отвечает:
Я так понимаю нужно дать команду по типу:
quickpkg lang/php
Потом следуя вашей рекомендации, добавляю в вышеуказанный файл строчку, исходя из того что у меня имеется файл /etc/portage/package.use:
dev-lang/php mssql
Я почему так подробно хочу все по шагам "раскидать", т.к. система рабочая, и "длинного" простоя быть не должно.
P.S. Большое Спасибо Вам Anarchist, за ваши максимально подробные ответы!
1. quickpkg - создаст бекап
1. quickpkg - создаст бекап уже установленного php. Синтаксис не помню, смотрите ман (да, что-то наподобие quickpkg lang/php)
2. В /etc/portage/package.use должно быть
dev-lang/php use1 use2 use3... mssql
где use1, use2 и т.д. - это USE флаги, которые в столбике I вывода
equery u dev-lang/php
отмечены занком "+" (т.е. для следующей сборки будут использоваться все старые USE + mssql.3. emerge php - соберет и установит новый пакет.
4. Если что-то не работает, откатываетесь с бекапа, созданного в п.1
У меня в
У меня в /etc/portage/package.use только одна строка про PHP
dev-lang/php sqlite
и вообще у меня вот такой вот файл /etc/portage/package.use:
Исправь строку с dev-lang/php
Исправь строку с dev-lang/php так, как я написал выше.
После этого, как правильно сказал Anarchist,
emerge -аv dev-lang/php
покажет тебе с какими флагами будет собираться, если все правильно, отвечаешь Yes :)/
А в
/etc/portage/package.use
больше одной строки на пакет быть не может/должно.При таком раскладе можно утверждать/предполагать следующее:
1. Собрано модулей больше, чем реально нужно (не все используются);
2. Дерево
portage
обновлял? С тех времён умолчательная конфигурация флагов [скорее всего] изменилась, потому просто добавление в строку флага mssql и пересборка (# emerge -av1 dev-lang/php
не приведёт к получению конфигурации: что было + поддержка m$ SQL.:wq
--
Live free or die
.
Логичное предположение :)
Так делать нельзя!!!
Строка с
dev-lang/php
должна содержать ВСЕ флагиdev-lang/php
(на худой конец, как минимум, --- все включённые).Покажи что у тебя выводит
# emerge -pv dev-lang/php
?Файл
/etc/portage/package.use
существует? Что в нём ($ grep php /etc/portage/package.use
)?Оно!!!
Архи-правильная мысль!
Величину предельно-допустимого времени простоя в студию!
Кстати, просто изменить конфигурацию здесь недостаточно, необходимо не полениться проверить, что при загрузке ОС всё поднимается правильно.
:wq
--
Live free or die