- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Проблема заключается в том, что что при запуске скрипта через браузер он выполняется, а при запуске этого же скрипта через cron
возникает ошибка:
Fatal error: Call to undefined function mysql_connect()
Нашел в интернете рекомендацию раскоментировать строку extension=msql.so
Сделал, но проблема осталась.
Подскажите в чем проблема?
может быть не подключается библиотека, которая отвечает за подключение к бд ?
может быть не подключается библиотека, которая отвечает за подключение к бд ?
Да нет этой библиотеки: msql.so
Как ее установить?
она есть - ведь исходя из ваши слов: "при запуске скрипта через браузер он выполняется".
соответственно ошибка в файле, который вызывается из крона. я так понимаю, что все файлы находятся на одном сервере.... если это так, то возможно вы забыли добавить в файл, который вызывается из крона, что-то типа этого: include("db.php") , где db.php - файл в котором идет описание подключения к БД
она есть - ведь исходя из ваши слов: "при запуске скрипта через браузер он выполняется".
соответственно ошибка в файле, который вызывается из крона. я так понимаю, что все файлы находятся на одном сервере.... если это так, то возможно вы забыли добавить в файл, который вызывается из крона, что-то типа этого: include("db.php") , где db.php - файл в котором идет описание подключения к БД
Если бы. Этот же файл прекрасно выполняется через браузер
Сделайте файлик 1.sh - права 755 и его в крон
#!/bin/sh
cd /home/www/... [директория с Вашим скриптом]
/usr/local/bin/php [путь к скрипту]
Библиотека-То mysql.so а не msql.so.
Библиотека тут ни причём... (если конечно, ТС, супер скрипт какой-нидь не написал)...
1. Call to undefined function mysql_connect() - Может и причём... у хостеров могут быть косяки в настройках сервака!
2. Возможно, вы хотите вызвать пхп как программу
/usr/local/bin/php [путь к скрипту]
а на самом деле у хостера он может быть скомпилен как модуль апача. Тогда такой вызов не будет правильно пахать. Внимательнее изучите проблему. (и почему, все стисняются у хостеров спрашивать...)
Но сначала попробуйте более простое решение:
Можно просто в крон написать (возможно понадобится полный путь к GET)
GET http://www.site.ru/script.php
Не проверял, но что-то типа того использовал давно. Равносильно вызову скрипта из броузера). Это точно должно работать! Раз из броузера работает).
---
- А вообще, проверяйте все пути, очень часто требуются абсолютные пути к прогам и утилитам, запускаемым через крон.
- сделайте в скрипте больше проверок на ошибки и пишите их в свой лог. дабы выловить все места. Проверяйте и на правильность инклудов файлов.
При запуске через крон похоже используется другой конфиг, в котором мускуль не подключен.
cron использует бинарный файл "php", а апач (ведь апач?) - модуль mod_php
Они могут быть скомпилированы с разными параметрами или действительно запускаться с разными конфигами
Проще всего разобраться в чем дело используя php_info() - создайте файл phpinfo.php с текстом <? php_info(); ?> и обратитесь к нему через браузер и из командной строки - php phpinfo.php
Сразу будет видно, какой конфиг где используется, где лежат библиотеки и т.д.