Crontab échoue le script php en tant que / usr / bin / php mais fonctionne en tant que / usr / bin / php-cgi

0

Je travaille sur un problème avec crontab où un script php qui ne contient pas de code html pour s'exécuter en tant que script autonome a tendance à échouer quotidiennement avec / usr / bin / php et fonctionne parfaitement en tant que / usr / bin / php-cgi.

L'erreur sous / usr / bin / php

PHP Warning:  include_once(Net/SMTP.php): failed to open stream: No such file or directory in /var/www/html/iop/lib/Mail/smtp.php on line 206
PHP Warning:  include_once(): Failed opening 'Net/SMTP.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php:./lib/:./lib/Net/:./lib/Mail/:./lib/Log/') in /var/www/html/iop/lib/Mail/smtp.php on line 206
PHP Fatal error:  Class 'Net_SMTP' not found in /var/www/html/iop/lib/Mail/smtp.php on line 210

les fichiers ont une autorisation 775 sur eux.

Avec la mise en chemin absolu, nous obtenons toujours la même erreur.

include('/var/www/html/iop/lib/Net/SMTP.php');

PHP Warning:  include_once(Net/SMTP.php): failed to open stream: No such file or directory in /var/www/html/iop/lib/Mail/smtp.php on line 206
PHP Warning:  include_once(): Failed opening 'Net/SMTP.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php:./lib/:./lib/Net/:./lib/Mail/:./lib/Log/') in /var/www/html/iop/lib/Mail/smtp.php on line 206
PHP Fatal error:  Class 'Net_SMTP' not found in /var/www/html/iop/lib/Mail/smtp.php on line 210

Je me demandais simplement si quelqu'un d'autre avait rencontré ce problème / savait ce qui se passait?

thebtm
la source
Êtes-vous sûr que c'est la bonne ligne que vous modifiez? Vous affichez un include('...')mais le message d'erreur parle include_once.
user2313067

Réponses:

0

Il se peut que php et php-cgi résolvent certains chemins différemment.

Avez-vous essayé d'inclure cela avec un chemin absolu? Est-ce que ça marche?

include_once('/usr/share/php/Net/SMTP.php');

selon l'endroit où vous l'avez installé, bien sûr.

Asu
la source
ça ne marche pas.
thebtm
Pourriez-vous poster le message d'erreur résultant de la tentative d'inclure le chemin absolu (ci-dessus), s'il vous plaît?
Asu
c'est exactement la même erreur mais avec un chemin absolu.
thebtm
Pouvez-vous afficher le résultat de cette commande bash: "ls -la / usr / share / php / Net /" (sans les guillemets, quel que soit le chemin où se trouve le fichier) pour vous assurer que les autorisations du système de fichiers ne sont pas le problème
Asu