PHP-приложение, которое отлично работает на сервере ламп не может требуется или включают файлы на всех после перехода на Windows Server 2003 машины. Например, если файл:PHP приложение не работает после перехода на машине Windows,
include("connectme.php");
echo "==== $SERVER_NAME, $USER, $PASSWORD";
$sql="SELECT id, model
FROM `products`
WHERE acc_code IS NULL
OR acc_code =0";
$prodset=mysql_query($sql);
while($prod=mysql_fetch_array($prodset,MYSQL_ASSOC))
{
echo $prod[id].",".$prod[model]."<br>";
}
Файл подведет с ошибкой подключения MySQL, хотя параметры соединения указаны в прилагаемом connectme.php файл. Если я прокомментирую, что включает в себя строку и жестко программирует параметры подключения, он работает.
Любые идеи?
Благодаря
Update: в connectme.php параметров соединения определены и приведены значения. Но по какой-то причине переменные не видны в области включенных файлов. Когда я добавляю строку к echo, переменные $ SERVER_NAME, $ USER, $ PASSWORD были пустыми.
Я не упомянул, что приложение размещено в виртуальном приложении, которое указывает на папку, которая находится за пределами папки IIS по умолчанию ** c: \ inetpub **, может потребоваться специальная настройка, позволяющая IUSR_ * получить доступ к файлам? – 2009-07-22 17:11:01
Включение отчета об ошибках даст вам лучшее представление о том, в чем проблема. Попробуйте поставить 'error_reporting (E_ALL);' вверху вашего кода. – zombat
Ниже приведено сообщение об ошибке для приведенного выше сценария: PHP Предупреждение: mysql_query() [function.mysql-query]: доступ запрещен для пользователя 'ODBC' @ 'localhost' (с использованием пароля: нет) в [путь к файлу] on line 20 PHP Предупреждение: mysql_query() [function.mysql-query]: ссылка на сервер не может быть установлена в [path-to-file] в строке 20 PHP Предупреждение: mysql_fetch_array(): предоставленный аргумент не является действительный ресурс результата MySQL в [путь к файлу] в строке 23 – 2009-07-22 17:26:29