SQL Server — Codeigniter 3 не будет подключаться к базе данных MSSQL 2012 под php 5.6 в Rackspace

Наш сайт находится на облачных сайтах Rackspace и в настоящее время работает нормально с Codeigniter 3.0.0 на PHP 5.4.1.0 и подключается к базе данных MSSQL 2012. Rackspace находится в процессе обновления PHP с 5.4.1.0 до 5.6.7-1 и предоставляет тестовые ссылки для тестирования наших сайтов в новой среде PHP. В этой тестовой среде сайт не подключается к базе данных MSSQL. Однако — никаких ошибок не выдается (что я могу найти, во всяком случае!)

Вот что у меня есть для конфигурации базы данных:

$db['default'] = array(
'dsn'   => '',
'hostname' => 'mssqlXXXX.XXX',
'username' => 'USERNAME',
'password' => 'PASSWORD',
'database' => 'DATABASE NAME',
'dbdriver' => 'mssql',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);

В качестве теста Rackspace также заставил меня написать тестовый контроллер. Это также терпит неудачу в Codeigniter. Код следует:

$username = "USERNAME";
$password = "PASSWORD";
$hostname = 'mssqlXXXX.XXX';
$dbname = "DATABASE";

//connection to the database
$dbcon = mssql_connect($hostname, $username, $password)or die("Unable to connect to MSSQL");
echo "Connected to MSSQL";

//select the database
mssql_select_db($dbname, $dbcon);

//SQL Select statement
$sqlselect = "SELECT * FROM INFORMATION_SCHEMA.TABLES";

//Run the SQL query
$sqlquery = mssql_query($sqlselect);

//Output the query results
while ($result = mssql_fetch_array($sqlquery) )
{
echo "<br>";
print_r($result);
echo "<br>";
}

Если я возьму этот скрипт из среды Codeigniter, он будет работать.

Я попытался изменить свою конфигурацию базы данных codeigniter следующим образом: имя хоста на IP-адрес вместо рекомендуемого значения Rackspace, изменив dbdriver на sqlsrv, используя строку dsn вместо имени хоста и базы данных и используя драйвер базы данных odbc. Ничего не работает

Я открыт для любых предложений.

РЕДАКТИРОВАТЬ
————————————————— ————————

Rackspace говорит: «проблема с freetds, которая использовала библиотеку моего PHP-модуля mssql для подключения к базам данных MSSQL; проблема заключается в использовании паролей длиной более 30 символов».

Итак — я сократил свой пароль. Теперь упомянутый выше тестовый контроллер работает! Ура! НО — стандартного подключения к базе данных Codeigniter нет.

1

Решение

Проблема была с Rackspace, и они исправили это.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]