Risposte:
Sarebbe meglio eseguire cron.sh
A partire da Magento EE 1.13.xe CE 1.8.x, la meccanica cron è cambiata in cui Magento ha introdotto una nuova funzione della modalità di pianificazione.
Sono disponibili 2 modalità: 1. impostazione predefinita: esegue i croni programmati. 2. sempre - Come dice il nome, queste attività verranno eseguite incondizionatamente ogni volta che cron viene attivato e non necessitano di pianificazioni esplicitamente definite.
Fondamentalmente cron.php chiamato senza parametri utilizza shell_exec per eseguire due processi di cron.sh. Ognuno con un parametro diverso ("predefinito" o "sempre"). Cron.sh a sua volta restituisce questo parametro a cron.php che quindi esegue cron. Internamente Magento utilizza la sua infrastruttura di eventi per elaborare le due modalità inviando eventi con i nomi "default" e "sempre". Mage_Cron implementa quindi due metodi di osservazione.
Guardando cron.php, noterai l'uso della funzione PHP shell_exec. Oltre ad essere un problema di sicurezza, la funzione può restituire NULL sia quando si verifica un errore che il programma non produce alcun output. Non è possibile rilevare errori di esecuzione utilizzando questa funzione. Ciò significa che in qualsiasi dato momento in cui lo script / codice non riesce a causa di un errore, si verifica quanto segue: 1. Il cronjob diventa stantio, 2. Non viene registrato alcun errore, 3. e nessuno sa che tutto ciò è accaduto.
Per ovviare a questo, dovrebbero essere aggiunti i seguenti cronjob:
*/5 * * * * www-data /bin/sh /path/to/magento/cron.sh cron.php -m=default
*/5 * * * * www-data /bin/sh /path/to/magento/cron.sh cron.php -m=always
Questo assicurerà che le modalità di processo funzioneranno sempre senza usare la funzione fallback PHP shell_exec e che il cron non debba diventare obsoleto poiché viene generata un'eccezione se si verifica un errore.
*/5 * * * * www-data /bin/sh /path/to/magento/cron.sh cron.php -m=default */5 * * * * www-data /bin/sh /path/to/magento/cron.sh cron.php -m=always
e questi comandi danno l'errore "comando non trovato" di nupur walia
*/5 * * * * /bin/sh /path/to/magento/cron.sh cron.php -m=default
www-data
cambierebbe a qualunque utente esegua i processi del server web. Vale anche la pena notare che per molte configurazioni di hosting CPanel / WHM,shell_exec()
verrà disabilitato.