LinuxForum.Fans
Тема

проблема с Cron

Автор: karen_kiril 71 сообщений 9286 просмотров
#342084

Не /var/www/site/cron.php, а php /var/www/site/cron.php То есть попробовать запустить :)

#342086
Sonic написал:
Не /var/www/site/cron.php, а php /var/www/site/cron.php То есть попробовать запустить :)

исправился=)) выше топ

#342087
"Sonic" написал:
в минимальной установке debian slocate не установлен
долго поставить?

"Sonic" написал:
а с find я правильно понял, что надо все каталоги перебирать?
я не думаю, что у кого-то хватит мозгов поставить конфиг НЕ в /etc/

(или в /usr/local/etc если ТС сам собрал из сырцов по дефолту).

"Sonic" написал:
если честно я запутался, не понимаю, как работает сайт, если в консоли пишет, что не может найти mysql_connect() ab И в добавок еще и без конфигурационного файла.

что тут непонятного?

--no-php-ini
-n No php.ini file will be used
вот и не работает.
#342090

ОК, давайте список установленных пакетов причастных к php
dpkg --list php* | grep ii

#342091

karen_kiril, да, вы НЕПРАВИЛЬНО запускаете. надо наверное так

text
# sudo -u www-data php /var/www/site/cron.php
#342092
Sonic написал:
ОК, давайте список установленных пакетов причастных к php
dpkg --list php* | grep ii
text
root@debian:~# dpkg --list php* | grep ii
ii  php5-cli                             5.3.6-6~dotdeb.1                  command-line interpreter for the php5 scripting language
ii  php5-common                          5.3.6-6~dotdeb.1                  Common files for packages built from the php5 source
ii  php5-gd                              5.3.6-6~dotdeb.1                  GD module for php5
ii  php5-imagick                         5.3.6-6~dotdeb.1                  imagick module for php5
ii  php5-mcrypt                          5.3.6-6~dotdeb.1                  MCrypt module for php5
ii  php5-memcache                        5.3.6-6~dotdeb.1                  memcache module for php5
ii  php5-mysql                           5.3.6-6~dotdeb.1                  MySQL module for php5
ii  php5-suhosin                         5.3.6-6~dotdeb.1                  suhosin module for php5
ii  php5-xcache                          5.3.6-6~dotdeb.1                  xcache module for php5
ii  php5-xdebug                          5.3.6-6~dotdeb.1                  xdebug module for php5
ii  php52                                5.2.17.dfsg.1-1                   server-side, HTML-embedded scripting language (metapackage)
ii  php52-common                         5.2.17.dfsg.1-1                   Common files for packages built from the php52 source
ii  php52-gd                             5.2.17.dfsg.1-1                   GD module for php52
ii  php52-ldap                           5.2.17.dfsg.1-1                   LDAP module for php52
ii  php52-mysql                          5.2.17.dfsg.1-1                   MySQL module for php52
ii  php52-pspell                         5.2.17.dfsg.1-1                   pspell module for php52
ii  php52-suhosin                        0.9.32.1-1                        advanced protection module for php52
ii  php52-tidy                           5.2.17.dfsg.1-1                   tidy module for php52
ii  php52-xmlrpc                         5.2.17.dfsg.1-1                   XML-RPC module for php52
ii  php52-xsl                            5.2.17.dfsg.1-1                   XSL module for php52
ii  phpmyadmin                           4:3.3.7-5                         MySQL web administration tool
#342093
"drBatty" написал:
вот и не работает.

Про этот ключ, я знаю, но дело в том, что проблема с Cron

#342096

karen_kiril, все верно у вас установлено две версии php, видимо из-за разных поставщиков. Но не суть, можете потом удалить старую версию, если не используете.
Дайте вывод dpkg -L php5-cli

#342097
"Sonic" написал:
Дайте вывод dpkg -L php5-cli
text

root@debian:~# dpkg -L php5-cli
/.
/etc
/etc/php5
/etc/php5/cli
/usr
/usr/bin
/usr/bin/php5
/usr/lib
/usr/lib/php5
/usr/lib/php5/20090626+lfs
/usr/share
/usr/share/doc
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/php5.1.gz
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/php5-cli
/etc/php5/cli/conf.d
/usr/share/doc/php5-cli
root@debian:~#
#342100

Вот смотрите, эта команда выводит список файлов, ну тут видимо директорий которые она устанавливает.
И здесь есть такие /etc/php5, /etc/php5/cli в которых и должен находится php.ini для версии 5.3.
Видимо вы вносили какие-то изменения и их удалили. Но, я не понимаю, как работает сайт, если запущен php версии 5.3 и вроде как без конфига.

В общем я могу еще посоветовать такой, с моей стороны ламерский вариант из-за плохого знания тонкостей linux.
Создать в каталоге сайта файл php с кодом

text

<?php
phpinfo();
?>

Запустить это из браузера, посмотреть там версию, убедится, что это php 5.3, найти строки про php.ini что там написано и посмотреть информацию про расширение mysql.

#342101

drBatty, кто-то стер ваше сообщение, но это не я, и не понимаю зачем.

#342102

в том то и дело что используется не php5.3 а php 5.2

а если точнее то PHP Version 5.2.17-1

/etc/php52/apache2/php.ini

#342106

karen_kiril, тогда надо отковырять где он находится этот 5.2 и запускать в кроне именно его.
Что-то вроде такого /usr/bin/php5-cgi /var/www/site/cron.php

#342108

dfsg - это что убунтовские пакеты?

#342110
Sonic написал:
dfsg - это что убунтовские пакеты?

угу убунтовские. у меня дебиан

#342112

В общем или /usr/bin/php5-cgi /var/www/site/cron.php или /usr/lib/cgi-bin/php5 /var/www/site/cron.php
Только напишите помогло это или нет? По команде php у вас запускается версия 5.3 которая не настроена, надо конкретно запускать 5.2

#342115
"Sonic" написал:
В общем или /usr/bin/php5-cgi /var/www/site/cron.php или /usr/lib/cgi-bin/php5 /var/www/site/cron.php
Только напишите помогло это или нет? По команде php у вас запускается версия 5.3 которая не настроена, надо конкретно запускать 5.2

/usr/bin/php5-cgi у меня нет такого. есть только /usr/bin/php и /usr/bin/php5



/usr/lib/cgi-bin/php5 в каталоге cgi-bin нет php5

есть вот такие папки:
/usr/lib/php5/

/usr/lib/php52/

#342118

Вот отковырял команду readlink -f /proc/$PID/exe покажет где находится файл процесса, у вас он один называется php, смотрели мы его так:
[console]ps aux | grep php[/console]
выдало так
[console]root 28922 0.0 0.0 3320 772 pts/0 S+ 20:27 0:00 grep php[/console]
Берем $PID - это цифра 28922
вставляем сюда readlink -f /proc/$PID/exe, получаем readlink -f /proc/28922/exe и на выхлопе смотрим путь.

P.S. Может доктор подскажет как одной командой глянуть

#342120

Значит должно быть так
/usr/bin/php52 /var/www/site/cron.php

Войдите или зарегистрируйтесь, чтобы ответить.