Расширения сервера PHP SQL не работают

Я пытаюсь заставить PHP общаться с сервером MS SQL, следуя это руководство для SQL Server 2005 (я использую экспресс-версию 2014, но это была самая последняя версия, которую я смог найти).

Я использую 32-битный Wamp и PHP 5.5.12. Я установил php_sqlsrv_55_ts.dll и php_sqlsrv_55_ts.dll в папку ext и добавил следующие строки в php.ini:

extension=php_sqlsrv_55_ts.dll
extension=php_pdo_sqlsrv_55_ts.dll

Кажется, все идет гладко, но информация SQLSRV не указана в разделе phpinfo(), а на вкладке php extensions для Wamp они перечислены, но с красным треугольником, содержащим восклицательный знак рядом с ними.

Кто-нибудь знает, что я пропустил?


person Robert    schedule 28.10.2015    source источник
comment
PDO - человек-решение   -  person meda    schedule 28.10.2015
comment
MSSQL больше не поддерживается. Используйте SQLSRV или PDO.   -  person Twisty    schedule 28.10.2015
comment
Предыдущим комментаторам: вопрос касается SQLSRV, который 1) является единственным поддерживаемым расширением для Windows и 2) предоставляет драйвер PDO.   -  person Álvaro González    schedule 28.10.2015
comment
Я предлагаю вам запустить PHP из командной строки. Часто это единственный надежный способ увидеть определенные ошибки запуска.   -  person Álvaro González    schedule 28.10.2015
comment
@ ÁlvaroG.Vicario: вы имеете в виду запуск phpinfo() из командной строки?   -  person Robert    schedule 28.10.2015
comment
Я предполагаю, что вы используете Windows. Нажмите клавишу Windows на клавиатуре, введите cmd и щелкните результат cmd.exe. У вас должна получиться черная винда с мигающим курсором. Введите php (без кавычек) и нажмите Enter.   -  person Álvaro González    schedule 28.10.2015
comment
Странно - из командной строки, если я запускаю файл: php info.php я получаю много информации, включая sqlsrv support => enabled, но если я просто набираю php строка cmd зависает.   -  person Robert    schedule 28.10.2015


Ответы (1)


Если вы просто наберете php в командной строке, он ожидает ввода, он не зависает.

Если при запуске php из командной строки ( PHP CLI ) вы видите, что sqlsrv поддерживается, но не при запуске phpinfo через Apache, значит, вы отредактировали неправильный файл php.ini. Обычно их 2: один для управления PHP CLI и один для управления PHP при запуске под Apache.

php.ini, который управляет php под apache, обычно находится в папке \apache\bin. Точный путь, конечно, зависит от того, используете ли вы WAMPServer/XAMPP... или устанавливаете все самостоятельно.

person RiggsFolly    schedule 29.10.2015
comment
А, ну, это объясняет, почему, следуя инструкциям, введите php (без кавычек) и нажмите Enter, и создастся впечатление, что он завис. знак равно - person Robert; 29.10.2015
comment
В любом случае, да, я отредактировал не тот файл php.ini. +1 и спасибо. - person Robert; 29.10.2015