/ домой \ | \ темы / |
02/06/2007 20:50 Devgru: |
Ошибка ((Can`t create TCP/IP socket (10106))) пишется в код страницы, когда я пытаюсь из файла, который выбран в качестве файла ошибки (в настройках сервера), вызвать команды mysql_connect и mysql_select_db. В качестве PHP-интерпритатора использую php-win.exe от PHP 5.2.2. (с версией php-cgi всё аналогично) При использовании php5isapi.dll выдаётся “Fatal error: Call to undefined function mysql_connect() in E:\X-Docs\HTML\1\error.php on line 19” Макс, в Вашем сервере нельзя вызвать функции mysql из файла ошибки в принципе или это я где-то ошибся? |
02/06/2007 21:46 Max: |
Можно, почему нельзя, -- файл ошибки обрабатывается точно также как любая другая страница, а на возможность интерпретатора использовать определенные функции сервер принципиально повлиять не может. Использовать нужно php-cgi.exe или php5isapi.dll Возможно у вас не верный адрес SQL сервера, а при использование php5isapi.dll в настройках PHP не прописан модуль для mysql. Может на компьютере несколько php.ini файлов, и в разных случаях используются разные. Или не нравятся сообщения об ошибках? Все сообщения об ошибках CGI сервер выводит, и это должно помочь вэб-мастеру их исправить. В настройках PHP можно отключить их вывод. |
02/06/2007 22:14 Devgru: |
Нет, Макс, сообщения-то нравятся :-) Они милые… Файл ошибки лежит в (адрес корня)\error.php Он осуществляет эти команды - и падает :-) Причём если просто вызвать этот файл (localhost/error.php) — доступ к базе есть, команды срабатывают. Аналогично и с любым другим файлом — команды работают. А если я напишу localhost/afsafasf (разумеется, несуществующий адрес) то начало страницы будет таким же, а вот доступа к базе — уже не будет. Выдаётся та же ошибка. Я проверил несколько раз. Уже не знаю что и делать. |
02/06/2007 22:20 Devgru: |
|
03/06/2007 01:42 Devgru: |
Ещё раз всё перепроверил, перешёл на php-cgi.exe окончательно. Всё равно, ошибка есть. Исключительно при попытке обращения к несуществующему файлу/каталогу. Что не так может быть? |
03/06/2007 02:02 Max: |
Отличие при запуске файла ошибки только в том, что есть переменная окружения PATH_INFO в которой лежит исходный запрос.
|
03/06/2007 03:30 Devgru: |
Изображаю всё что есть. Содержимое error.php <?php echo(`<html>`); $db = mysql_connect(`localhost`,`root`,`!qualify`); foreach($_SERVER as $v=>$a){echo ("$v - $a <br />");}; echo(`</html>`); ?> Результат вызова localhost/error.php (devgru.by.ru/res1.txt) (devgru.by.ru/res1.htm) Файл весит 2769 байт Результат вызова localhost/er (devgru.by.ru/res2.txt) (devgru.by.ru/res2.htm) Файл весит 665 байт Меня, если честно, эта ошибка заинтересовала. Надеюсь, разберёмся с ней. :-) |
04/06/2007 02:29 Devgru: |
Так что же, Макс? Вы видите, разница действительно есть. И я Вас не обманываю. В чём же дело? |
04/06/2007 10:29 Max: |
В программе ошибки нет. Сервер на внутренние функции влиять не может. Запускается все одним и тем же кодом. Отличие только в переменной PATH_INFO и если это критично для PHP -- ошибка в нем. Можете попробовать в php.ini прописать полные пути к DLL-модулям. |
04/06/2007 18:56 Devgru: |
Будет сделано. По выполнении отрапортую :-)
|
04/06/2007 19:45 Devgru: |
Прописывал. Толку — ноль. PHP так и так видит библиотеку, иначе бы он выдал ошибку о невозможности её подгрузить.
|