[Cron php] find: invalid argument `-delete' to `-cmin'

Bonjour
Voila de ça plusieurs jours après avoir fait une mise à jour de mon système que je me suis retrouvé a avoir des message d’erreur du Cron

[code]Cron <root@…> [ -x /usr/lib/php5/maxlifetime ] && [ -x /usr/lib/php5/sessionclean ] && [ -d /var/lib/php5 ] && /usr/lib/php5/sessionclean /var/lib/php5 $(/usr/lib/php5/maxlifetime)

find: invalid argument -delete' to-cmin’
[/code]

En exécutant mon Script avec -x j’obtiens:

[code]+ max=1440

  • which php5
  • [ -e /etc/php5/apache2/php.ini ]
  • php5 -c /etc/php5/apache2/php.ini -d error_reporting=’~E_ALL’ -r print ini_get(“session.gc_maxlifetime”);
  • cur=
  • [ -z ]
  • cur=0
  • [ 0 -gt 1440 ]
  • [ -e /etc/php5/apache2filter/php.ini ]
  • [ -e /etc/php5/cgi/php.ini ]
  • [ -e /etc/php5/fpm/php.ini ]
  • echo 24
  • exit 0
  • [ -x /usr/bin/lsof ]
  • /usr/bin/lsof -w -l +d /var/lib/php5
  • xargs+ i touch -c {}
    awk – { if (NR > 1) { print $9; } }
  • find /var/lib/php5 -depth -mindepth 1 -maxdepth 1 -ignore_readdir_race -type f -cmin +24 -delete[/code]

Je n’ai pas de message d’erreur spécifique et je ne comprend pas pourquoi je reçoit toujours des erreur car sudo mksh -x /usr/lib/php5/maxlifetime retourne bien 24…

Merci pour votre aide

Salut,

Quelle est ta version Debian et celle de [mono]php5[/mono] ?

Debian 7.6

PHP 5.4.4-14+deb7u14

Merci pour ta réponse.

[mono]# mksh -e /usr/lib/php5/maxlifetime[/mono]


[code][17:56:18] ~ # cat /usr/lib/php5/maxlifetime
#!/bin/sh -e

max=1440

if which php5 >/dev/null 2>&1; then
for sapi in apache2 apache2filter cgi fpm; do
if [ -e /etc/php5/${sapi}/php.ini ]; then
cur=$(php5 -c /etc/php5/${sapi}/php.ini -d “error_reporting=’~E_ALL’” -r ‘print ini_get(“session.gc_maxlifetime”);’)
[ -z “$cur” ] && cur=0
[ “$cur” -gt “$max” ] && max=$cur
fi
done
else
for ini in /etc/php5//php.ini /etc/php5/conf.d/.ini; do
cur=$(sed -n -e ‘s/^[[:space:]]session.gc_maxlifetime[[:space:]]=[[:space:]]([0-9]+).$/\1/p’ $ini 2>/dev/null || true);
[ -z “$cur” ] && cur=0
[ “$cur” -gt “$max” ] && max=$cur
done
fi

echo $(($max/60))

exit 0
[17:56:23] ~ # [/code]

[17:57:10] ~ # bash -e /usr/lib/php5/maxlifetime 24 [17:57:19] ~ #

[code][17:57:20] ~ # bash -x /usr/lib/php5/maxlifetime

  • max=1440
  • which php5
  • for sapi in apache2 apache2filter cgi fpm
  • ‘[’ -e /etc/php5/apache2/php.ini ‘]’
    ++ php5 -c /etc/php5/apache2/php.ini -d ‘error_reporting=’’’~E_ALL’’’’ -r ‘print ini_get(“session.gc_maxlifetime”);’
  • cur=1440
  • ‘[’ -z 1440 ‘]’
  • ‘[’ 1440 -gt 1440 ‘]’
  • for sapi in apache2 apache2filter cgi fpm
  • ‘[’ -e /etc/php5/apache2filter/php.ini ‘]’
  • for sapi in apache2 apache2filter cgi fpm
  • ‘[’ -e /etc/php5/cgi/php.ini ‘]’
  • for sapi in apache2 apache2filter cgi fpm
  • ‘[’ -e /etc/php5/fpm/php.ini ‘]’
  • echo 24
    24
  • exit 0
    [17:57:25] ~ #[/code]

Moi ces commandes me donne ça:

#bash -e /usr/lib/php5/maxlifetime zsh: exit 1 bash -e /usr/lib/php5/maxlifetime

[code]#vim /usr/lib/php5/maxlifetime

#!/bin/sh -e

max=1440

if which php5 >/dev/null 2>&1; then
for sapi in apache2 apache2filter cgi fpm; do
if [ -e /etc/php5/${sapi}/php.ini ]; then
cur=$(php5 -c /etc/php5/${sapi}/php.ini -d “error_reporting=’~E_ALL’” -r ‘print ini_get(“session.gc_maxlifetime”);’)
[ -z “$cur” ] && cur=0
[ “$cur” -gt “$max” ] && max=$cur
fi
done
else
for ini in /etc/php5//php.ini /etc/php5/conf.d/.ini; do
cur=$(sed -n -e ‘s/^[[:space:]]session.gc_maxlifetime[[:space:]]=[[:space:]]([0-9]+).$/\1/p’ $ini 2>/dev/null || true);
[ -z “$cur” ] && cur=0
[ “$cur” -gt “$max” ] && max=$cur
done
fi

echo $(($max/60))

exit 0
~
[/code]

[code]#bash -x /usr/lib/php5/maxlifetime

  • max=1440
  • which php5
  • for sapi in apache2 apache2filter cgi fpm
  • ‘[’ -e /etc/php5/apache2/php.ini ‘]’
    ++ php5 -c /etc/php5/apache2/php.ini -d ‘error_reporting=’’’~E_ALL’’’’ -r ‘print ini_get(“session.gc_maxlifetime”);’
  • cur=
  • ‘[’ -z ‘’ ‘]’
  • cur=0
  • ‘[’ 0 -gt 1440 ‘]’
  • for sapi in apache2 apache2filter cgi fpm
  • ‘[’ -e /etc/php5/apache2filter/php.ini ‘]’
  • for sapi in apache2 apache2filter cgi fpm
  • ‘[’ -e /etc/php5/cgi/php.ini ‘]’
  • for sapi in apache2 apache2filter cgi fpm
  • ‘[’ -e /etc/php5/fpm/php.ini ‘]’
  • echo 24
    24
  • exit 0

[/code]

Voila je ne sais pas vraiment quoi faire…

un petit up…

Bonjour,

php5 -c /etc/php5/apache2/php.ini -d "error_reporting='~E_ALL'" -r 'print ini_get("session.gc_maxlifetime");'

Tu peux lancer cette commande et nous dire ce qu’elle retourne ? Si tu as une erreur dans ton php.ini, corrige là et reessaye.

[size=85]Serieux le deuxième bloc avec sed aurait suffit, quitte à faire un script shell, autant le faire jusqu’au bout. Les dev php ont pris grave le melon sur cette decision.[/size]

Bonjour Merci pour la reponse,
Voici ce que me donne la ligne de commande:

sudo php5 -c /etc/php5/apache2/php.ini -d "error_reporting='~E_ALL'" -r 'print ini_get("session.gc_maxlifetime");' zsh: exit 1 sudo php5 -c /etc/php5/apache2/php.ini -d "error_reporting='~E_ALL'" -r

Je pense qu’il me manque quelque chose …

Merci

Re,

Ca reste mon avis, mais y a de grandes chances que ton php.ini ait des directives qui ne sont plus supportées.
Tu ne le vois pas d’habitude quand tu consultes tes pages via apache parce que le niveau d’erreur est plus bas par défaut.

Y a bien la possibilité de modifier le script pour n’utiliser que sed mais ce n’est pas une solution acceptable sur ce forum :018

Un petit up

Je joins mon fichier php.ini de mon dossier apache2 au cas ou… :blush:
php.ini (41.3 KB)