PHP с поддержкой MS SQL

Здравствуйте уважаемые.

Прошу помощи, не проходите мимо.

У меня стоит Gentoo, на нем крутится APACHE + PHP + Perl все это с поддежкой MySQL PgSQL.

Вопрос: Как бы не нарушая текущую конфигурацию (просто очень много модулей докучи ставились ДО меня, и я их естественно не знаю) собрать всю эту связку с поддержкой MS SQL?

.

sidsoft67 написал(а):
Вопрос: Как бы не нарушая текущую конфигурацию (просто очень много модулей докучи ставились ДО меня, и я их естественно не знаю) собрать всю эту связку с поддержкой 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

Anarchist написал(а):
sidsoft67 написал(а):
Вопрос: Как бы не нарушая текущую конфигурацию (просто очень много модулей докучи ставились ДО меня, и я их естественно не знаю) собрать всю эту связку с поддержкой MS SQL?

$ equery u dev-lang/php?

Думаю, снять бэкап (quickpkg), прописать в /etc/portage/package.use для php флаг mssql и...
# emerge -av1 dev-lang/php

Дал команду:

 equery u dev-lang/php
[ Searching for packages matching dev-lang/php... ]
[ Colour Code : set unset ]
[ Legend        : Left column  (U) - USE flags from make.conf                     ]
[                  : Right column (I) - USE flags packages was installed with ]
[ Found these USE variables for dev-lang/php-5.2.6-r7 ]
 U I
 - - adabas              : Adds support for the Adabas database engine
 + + apache2             : Add Apache2 support
 - - bcmath              : Adds support for libbcmath
 + + berkdb              : Adds support for sys-libs/db (Berkeley DB for MySQL)
 - - birdstep            : Adds support for the Birdstep Database Server
 + + bzip2               : Use the bzlib compression library
 - - calendar            : Adds support for calendars (not using mcal!)
 - - cdb                 : Adds support for the CDB database engine from the author of qmail
 - + cgi                 : Add CGI script support
 - - cjk                 : Adds support for Multi-byte character languages (Chinese, Japanese, Korean)
 + + cli                 : Enable CLI SAPI
 - - concurrentmodphp    : Make it possible to load both mod_php4 and mod_php5 into the same Apache2 instance (experimental)
 + + crypt               : Add support for encryption -- using mcrypt or gpg where applicable
 - + ctype               : Enables ctype functions
 - - curl                : Adds support for client-side URL transfer library
 - - curlwrappers        : Adds support for using curl in streams
 - - db2                 : Enables support for IBM DB2 database server
 - - dbase               : Adds support for dbase file format
 - - dbmaker             : Adds support for dbmaker database server
 - - debug               : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see http://www.gentoo.org/proj/en/qa/backtraces.xml
 - - discard-path        : Switch on common security setting for CGI SAPI
 - - doc                 : Adds extra documentation (API, Javadoc, etc)
 - - empress             : Adds support for the Empress database server
 - - empress-bcs         : Adds local access support for the Empress database server
 - - esoob               : Adds support for Easysoft OOD database
 - - exif                : Adds support for reading EXIF headers from JPEG and TIFF images
 - - fastbuild           : Build PHP quicker (experimental)
 - - fdftk               : Add supports for Adobe's FDF toolkit.
 - - filter              : Add filter extension support
 - - firebird            : Adds support for the Firebird relational database
 - - flatfile            : Adds dbm support for flat files
 - - force-cgi-redirect  : Switch on common security setting for CGI SAPI
 - - frontbase           : Adds support for the frontbase sql server
 + + ftp                 : Adds FTP (File Transfer Protocol) support
 + + gd                  : Adds support for media-libs/gd (to generate graphics on the fly)
 - - gd-external         : Use the external version of gd rather than the bundled one (possibly dangerous)
 + + gdbm                : Adds support for sys-libs/gdbm (GNU database libraries)
 - - gmp                 : Adds support for dev-libs/gmp (GNU MP library)
 - - hash                : Enable the hash extension
 + + iconv               : Enable support for the iconv character set conversion library
 + + imap                : Adds support for IMAP (Internet Mail Application Protocol)
 - - inifile             : Adds dbm support for .ini files
 - - interbase           : Adds support for Interbase database
 - - iodbc               : Adds support for iODBC library
 - - ipv6                : Adds support for IP version 6
 - - java-external       : Use the external java extension rather than the bundled one
 - - json                : Enable JSON support
 + + kerberos            : Adds kerberos support
 - - kolab               : Adds support for the Kolab groupware server
 + + ldap                : Adds LDAP support (Lightweight Directory Access Protocol)
 - - ldap-sasl           : Add SASL support for the PHP LDAP extension
 - - libedit             : Use the libedit library (replacement for readline)
 - - mcve                : Support for the MCVE credit card payment system
 - - mhash               : Adds support for the mhash library
 - - msql                : Adds support for the MSQL database server
 - - mssql               : Adds support for Microsoft SQL Server database
 + + mysql               : Adds mySQL Database support
 - - mysqli              : Adds support for the improved mySQL libraries
 + + ncurses             : Adds ncurses support (console display library)
 + + nls                 : Adds Native Language Support (using gettext - GNU locale utilities)
 - - oci8                : Adds Oracle 8 Database Support
 - - oci8-instant-client : Use dev-db/oracle-instantclient-basic as Oracle provider instead of requiring a full Oracle server install
 - - odbc                : Adds ODBC Support (Open DataBase Connectivity)
 - - pcntl               : Adds support for process creation functions
 + + pcre                : Adds support for Perl Compatible Regular Expressions
 - - pdo                 : Enable the bundled PDO extensions
 - - pic                 : Build Position Independent Code.  Do not utilize this flag unless you know what you're doing
 - - posix               : Adds support for POSIX-compatible functions
 + + postgres            : Adds support for the postgresql database
 - - qdbm                : Adds support for the qdbm (Quick Database Manager) library
 + + readline            : Enables support for libreadline, a GNU line-editing library that almost everyone wants
 - - recode              : Enables support for the GNU recode library
 + + reflection          : Enable the reflection extension (Reflection API)
 - - sapdb               : Adds support for SAP DB
 + + session             : Adds persistent session support
 - - sharedext           : Adds support for building shared extensions in PHP
 - - sharedmem           : Adds support for shared memory use
 - - simplexml           : support for SimpleXML
 + + snmp                : Adds support for the Simple Network Management Protocol if available
 - - soap                : Adds support for SOAP (Simple Object Access Protocol)
 + + sockets             : Adds support for tcp/ip sockets
 - - solid               : Adds support for the Solid database engine
 + + spell               : Adds dictionary support
 + + spl                 : Adds support for the Standard PHP Library
 + + sqlite              : Adds support for sqlite - embedded sql database
 + + ssl                 : Adds support for Secure Socket Layer connections
 - - suhosin             : Add Suhosin support (patch and extension from http://www.suhosin.org/)
 - - sybase              : Adds support for the Sybase SQL Database Server
 - - sybase-ct           : Adds support for Sybase-CT
 - - sysvipc             : Support for System V-compatible inter-process communication
 - - threads             : Adds threads support for various packages. Usually pthreads
 - - tidy                : Adds support for HTML Tidy
 - - tokenizer           : Adds support for the PHP file parser
 + + truetype            : Adds support for FreeType and/or FreeType2 fonts
 + + unicode             : Adds support for Unicode
 - - wddx                : Adds support for Web Distributed Data eXchange
 + + xml                 : Add support for XML files
 - - xmlreader           : Enable XMLReader support
 - - xmlrpc              : Support for xml-rpc library
 - - xmlwriter           : Enable XMLWriter support
 - - xpm                 : Adds support for XPM graphics format
 - - xsl                 : Check/Support flag for XSL library (version 1)
 - - yaz                 : Adds in optional support for the Z39.50 Protocol for Information Retrieval (YAZ)
 - - zip                 : Enable ZIP file support
 - - zip-external        : Enable ZIP file support (external PECL extension)
 + + zlib                : Adds support for zlib (de)compression

вывело это (там еще подсветка цветная)
Не совсем понял команду для снятия дампа (букваль в двух словах что делает команда quickpkg или это нужно установить?)
И где прописывать для php флаг mssql (mssql.so)/

P.S. еще где то вычитал что нужно ставить пакет freetds. Или в данном случае он не обязателен?

.

sidsoft67 написал(а):
вывело это (там еще подсветка цветная)

Фактически это список установленных модулей.

sidsoft67 написал(а):
Не совсем понял команду для снятия дампа (букваль в двух словах что делает команда quickpkg или это нужно установить?)

Она создаёт на базе установленной программы её бинарный пакет.
Входит ЕМНИП в gentoolkit

sidsoft67 написал(а):
И где прописывать для php флаг mssql (mssql.so)/

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).

sidsoft67 написал(а):
P.S. еще где то вычитал что нужно ставить пакет freetds. Или в данном случае он не обязателен?

Обязателен. Но ставить его явно не стоит. Он будет установлен автоматически в качестве зависимости.

ЗЫ: Про etc-update не забудь.

:wq
--
Live free or die

-

Даю команду

quickpkg

отвечает:

Usage: quickpkg [options] <list of package atoms>

quickpkg: error: no packages atoms given

Я так понимаю нужно дать команду по типу:

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:

www-client/lynx -ipv6
net-fs/samba acl ldap kerberos pam winbind
net-nds/openldap sasl samba kerberos
dev-libs/cyrus-sasl authdaemond -java kerberos pam -ldap -crypt -gdbm berkdb
media-libs/freetype bindist
dev-lang/perl perlsuid
net-libs/courier-authlib -mysql
sys-apps/ucspi-tcp -ssl
net-dns/bind -ipv6 -ldap -mysql -bind-mysql -postgres -odbc threads
www-servers/apache -ldap
net-analyzer/flow-tools -mysql
mail-mta/postfix -ldap -mysql -mailwrapper
www-apps/postfixadmin -mysql
dev-libs/cyrus-sasl -mysql crypt -berkdb -postgres
mail-client/squirrelmail spell filter
mail-filter/amavisd-new -mysql
mail-client/squirrelmail -mysql
dev-lang/php sqlite
mail-filter/spamassassin -berkdb -sqlite -mysql
mail-filter/sqlgrey -mysql

Исправь строку с dev-lang/php

Исправь строку с dev-lang/php так, как я написал выше.
После этого, как правильно сказал Anarchist, emerge -аv dev-lang/php покажет тебе с какими флагами будет собираться, если все правильно, отвечаешь Yes :)

/

sidsoft67 написал(а):
У меня в /etc/portage/package.use только одна строка про PHP

dev-lang/php sqlite

А в /etc/portage/package.use больше одной строки на пакет быть не может/должно.

При таком раскладе можно утверждать/предполагать следующее:
1. Собрано модулей больше, чем реально нужно (не все используются);
2. Дерево portage обновлял? С тех времён умолчательная конфигурация флагов [скорее всего] изменилась, потому просто добавление в строку флага mssql и пересборка (# emerge -av1 dev-lang/php не приведёт к получению конфигурации: что было + поддержка m$ SQL.

:wq
--
Live free or die

.

sidsoft67 написал(а):
Я так понимаю нужно дать команду по типу:

quickpkg lang/php

Логичное предположение :)

sidsoft67 написал(а):
Потом следуя вашей рекомендации, добавляю в вышеуказанный файл строчку, исходя из того что у меня имеется файл /etc/portage/package.use:

dev-lang/php mssql

Так делать нельзя!!!
Строка с dev-lang/php должна содержать ВСЕ флаги dev-lang/php (на худой конец, как минимум, --- все включённые).

Покажи что у тебя выводит # emerge -pv dev-lang/php?

Файл /etc/portage/package.use существует? Что в нём ($ grep php /etc/portage/package.use)?

sidsoft67 написал(а):
Я почему так подробно хочу все по шагам "раскидать", т.к. система рабочая, и "длинного" простоя быть не должно.

Оно!!!
Архи-правильная мысль!
Величину предельно-допустимого времени простоя в студию!

Кстати, просто изменить конфигурацию здесь недостаточно, необходимо не полениться проверить, что при загрузке ОС всё поднимается правильно.

:wq
--
Live free or die

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".