Решил у себя описать решение одной веселой ошибки,с которой столкнулся после обновления РНР движка до версии 5.4.4. Суть ошибки заключалась в том,что при вызове интерпретатора РНР из-под шелла, скрипт выдавал такую вот ошибку:
Call to undefined function mysql_connect() in имя_файла.php
При том что сайты остальный работали.Тобишь через Apache подключения к БД работали отлично.Вызвав из консоли php -v я не увидел в списке модулей РНР модуля mysql. Странно,ведь раньше все работало. Сразу же проверил настройки в /etc/php5/conf.d/mysql.ini — тут все было норм. Запись верна,сама библиотека присутстовала.Но не запускалась. Поискав по интернету,я для себя обнаружил что такой ошибки много у кого,а вот решений мало.Потому и решил тут описать — вдруг кому еще поможет) Пиво мне)) Вызвав php -i | grep php.ini я увидел что основной файл настроек почему то
Configuration File (php.ini) Path => /usr/local/lib
В этой папке никакого php.ini небыло) Не страшно,создал его,в нем написал строчку запуска extension=mysql.so. После этого РНР ругнулся что не может загрузить библиотеку по пути: ‘/usr/local/lib/php/extensions/no-debug-non-zts-20100525/mysql.so’
Интересный путь. Там папок начиная от extensions небыло. Ниче,создаем все папки как оно просит и кидаем туда mysql.so взяв его из системы /usr/lib/php5/20090626/mysql.so. Перезапускаем и…И ничего. РНР ругается что файл имеет непонятную функцию и т.д. Короче библиотека не подходит.Старовата для молодого 5.4.4. )) После долгих мучений гугла я всетаки нашел нужные библиотеки:
1) http://packages.debian.org/sid/libmysqlclient18
2) http://packages.debian.org/sid/php5-mysql
заходим в пакет через Midnight Commander и распаковываем из php5-mysql.deb по пути /CONTENTS/usr/lib/php5/20100525/mysql.so в папку /usr/local/lib/php/extensions/no-debug-non-zts-20100525/. Затем из libmysqlclient18.deb из /CONTENT/usr/lib/x86_64_linux-gnu/ все файлы в папку /usr/lib и перезапускаем Апач. Ну вообще можно не перезапускать) Вызываем php -m и если вначале РНР ни на что не ругается,а просто выводит список модулей то ищем среди них заветный mysql )
Ту же беду вылечил намного проще, у меня lampp вертится на linux ubuntu так на нем же пых соответственно 5.4.7 . Я вылечил так:
Вместо : /usr/bin/php /home/ahlamon/htdoc/www/….
Вписал: /opt/lampp/bin/php /home/ahlamon/htdoc/www/….
Хм..Вариант!) Ну а я по сложнейшему пути пошел 😀