Поддержка sql

atlant-group
На сайте с 20.04.2007
Offline
11
799

Проблема заключается в том, что что при запуске скрипта через браузер он выполняется, а при запуске этого же скрипта через cron

возникает ошибка:

Fatal error: Call to undefined function mysql_connect()

Нашел в интернете рекомендацию раскоментировать строку extension=msql.so

Сделал, но проблема осталась.

Подскажите в чем проблема?

Сколько живу не могу понять двух вещей: откуда пыль берется и куда деньги деваются! Украинский портал (http://www.atlant.ws) - все без регистрации. Ну, почти все ;)
kosenka
На сайте с 02.12.2007
Offline
122
#1

может быть не подключается библиотека, которая отвечает за подключение к бд ?

atlant-group
На сайте с 20.04.2007
Offline
11
#2
kosenka:
может быть не подключается библиотека, которая отвечает за подключение к бд ?

Да нет этой библиотеки: msql.so

Как ее установить?

kosenka
На сайте с 02.12.2007
Offline
122
#3

она есть - ведь исходя из ваши слов: "при запуске скрипта через браузер он выполняется".

соответственно ошибка в файле, который вызывается из крона. я так понимаю, что все файлы находятся на одном сервере.... если это так, то возможно вы забыли добавить в файл, который вызывается из крона, что-то типа этого: include("db.php") , где db.php - файл в котором идет описание подключения к БД

atlant-group
На сайте с 20.04.2007
Offline
11
#4
kosenka:
она есть - ведь исходя из ваши слов: "при запуске скрипта через браузер он выполняется".
соответственно ошибка в файле, который вызывается из крона. я так понимаю, что все файлы находятся на одном сервере.... если это так, то возможно вы забыли добавить в файл, который вызывается из крона, что-то типа этого: include("db.php") , где db.php - файл в котором идет описание подключения к БД

Если бы. Этот же файл прекрасно выполняется через браузер

Хелпзонович
На сайте с 15.06.2005
Offline
133
#5

Сделайте файлик 1.sh - права 755 и его в крон

#!/bin/sh

cd /home/www/... [директория с Вашим скриптом]

/usr/local/bin/php [путь к скрипту]

Вы там держитесь! Хорошего вам настроения. Здоровья.
Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#6

Библиотека-То mysql.so а не msql.so.

С уважением, Борис Долгов. Администрирование, дешевые лицензии ISPsystem, Parallels, cPanel, DirectAdmin, скины, SSL - ISPlicense.ru (http://www.isplicense.ru/?from=4926)
DyaDya
На сайте с 11.04.2007
Offline
147
#7

Библиотека тут ни причём... (если конечно, ТС, супер скрипт какой-нидь не написал)...

1. Call to undefined function mysql_connect() - Может и причём... у хостеров могут быть косяки в настройках сервака!

2. Возможно, вы хотите вызвать пхп как программу

Хелпзонович:
/usr/local/bin/php [путь к скрипту]

а на самом деле у хостера он может быть скомпилен как модуль апача. Тогда такой вызов не будет правильно пахать. Внимательнее изучите проблему. (и почему, все стисняются у хостеров спрашивать...)

Но сначала попробуйте более простое решение:

Можно просто в крон написать (возможно понадобится полный путь к GET)

GET http://www.site.ru/script.php

Не проверял, но что-то типа того использовал давно. Равносильно вызову скрипта из броузера). Это точно должно работать! Раз из броузера работает).

---

- А вообще, проверяйте все пути, очень часто требуются абсолютные пути к прогам и утилитам, запускаемым через крон.

- сделайте в скрипте больше проверок на ошибки и пишите их в свой лог. дабы выловить все места. Проверяйте и на правильность инклудов файлов.

Выбирайте качественный хостинг (http://vashmaster.ru/informaciya/o_poleznyh_programmah/news83.php) и продвигайте сайты в СЕОПУЛЬТ (http://seopult.ru/ref.php?ref=72b5ed9561fe66a1). А на «SAPE» я в обиде :) Не упрекайте за очепятки, пишу вслепую (http://ergosolo.ru/) и также делаю сайты (http://www.vashmaster.ru/) ;)
dkameleon
На сайте с 09.12.2005
Offline
386
#8

При запуске через крон похоже используется другой конфиг, в котором мускуль не подключен.

Дизайн интерьера (http://balabukha.com/)
V
На сайте с 25.07.2006
Offline
128
#9

cron использует бинарный файл "php", а апач (ведь апач?) - модуль mod_php

Они могут быть скомпилированы с разными параметрами или действительно запускаться с разными конфигами

Проще всего разобраться в чем дело используя php_info() - создайте файл phpinfo.php с текстом <? php_info(); ?> и обратитесь к нему через браузер и из командной строки - php phpinfo.php

Сразу будет видно, какой конфиг где используется, где лежат библиотеки и т.д.

Приватный linux-администратор

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий