Наш сайт находится на облачных облаках Rackspace и в настоящее время работает отлично с Codeigniter 3.0.0 на PHP 5.4.1.0 и подключается к базе данных MSSQL 2012. Rackspace находится в процессе обновления PHP с 5.4.1.0 до 5.6.7-1 и предоставил тестовые ссылки для тестирования наших сайтов в новой среде PHP. В этой тестовой среде сайт не подключается к базе данных MSSQL. Однако - никаких ошибок не выбрасываются (! Что я могу найти, во всяком случае)Codeigniter 3 не будет подключаться к базе данных MSSQL 2012 под php 5.6 на Rackspace
Это то, что у меня есть для моей конфигурации базы данных:
$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 следующим образом: hostname для IP-адреса вместо рекомендуемого значения Rackspace, изменив dbdriver на sqlsrv, используя строку dsn вместо имени хоста и базы данных и используя драйвер базы данных odbc. Ничего не работает.
Я открыт для всех предложений.
EDIT ------------------------------------------- ------------------------------
Rackspace говорит: «Проблема с freetds, которая является библиотекой, используемой mssql моего PHP модуль для подключения к базам данных MSSQL, проблема, похоже, вращается вокруг, используя пароли длиной более 30 символов ».
Итак, я сократил свой пароль. Описанный выше контрольный контроллер работает! Ура! НО - стандартное соединение базы данных Codeigniter не работает.
Какой результат вы получили от тестового скрипта при запуске на rackspace – RiggsFolly
Не удалось подключиться к MSSQL – Junosapien
Установили ли они драйверы сервера sql и т. Д.? Или вы должны это делать? – RiggsFolly