#php #sql-server #xampp #freetds
#php #sql-сервер #программе XAMPP #freetds #xampp
Вопрос:
При попытке подключиться к SQLServer с помощью sybase_connect() я получаю следующие ошибки:
Из командной строки: $> php test.php
Неустранимая ошибка: неперехваченная ошибка: вызов неопределенной функции sybase_connect() в test.php:7
Запуск скрипта через XAMPP:
Предупреждение: sybase_connect(): Sybase: Сообщение клиента: Не удается подключиться: Адаптивный сервер недоступен или не существует (серьезность 78) в test.php в строке 7
Предупреждение: sybase_connect(): Sybase: Не удается подключиться в test.php в строке 7
Неустранимая ошибка: вызов неопределенной функции error() в test.php в строке 7
Вот мой код:
<?php
$server = 'server.domain.com';
$username = 'user';
$password = 'pwd';
$sqlconnect = sybase_connect($server, $username, $password, 'UTF-8') or error('connect');
Я запускаю XAMPP на Mac OS, PHP 5.6.
Я попытался подключиться к серверу через tsql в командной строке, и это действительно работает (с указанием порта и без него):
tsql -S server.domain.com -U user
tsql -S server.domain.com -U user -p 1433
Я пытался активировать расширение для sybase на php.ini, но все еще получаю ту же ошибку:
extension=php_sybase_ct.dll
Я также попробовал несколько случайных действий из ответов stackoverflow, но, честно говоря, я здесь полностью заблудился.
Комментарии:
1.
sql-server
Тег обозначает Microsoft SQL Server. Удалите его, если вы используете Sybase.2. Как указано в документации, sybase_connect открывает соединение с сервером Sybase, а не sql Server.
3. @DanGuzman похоже, что расширение sybase также можно использовать для подключения к MS SQL Server. На самом деле он настроен таким образом в производственной среде, которую я пытаюсь реплицировать (используя sybase для обеспечения безопасных подключений), но, к сожалению, я не нашел никакой документации о том, как настроить sybase в моей локальной среде для подключения к SQL Server. Для подключения к SQL Server.
Ответ №1:
AFAIK, sybase*
функции могли подключаться только к более старым версиям SQL Server и были удалены в PHP 7.0, который скоро станет единственной доступной безопасной версией.
Я бы посоветовал использовать PHP sqlsrv_connect()
:https://www.php.net/manual/en/function.sqlsrv-connect.php … или PDO: https://www.php.net/manual/en/pdo.construct.php
Удачи!
Комментарии:
1. Спасибо FlipperPa, мы собираемся изучить вариант sqlsrv_connect, как вы предлагаете