httpdocs/pub/ftp-admin/ 디렉터리에서 .sh bash 파일을 실행합니다. 디렉토리의 명령줄에서는 모든 것이 잘 작동합니다. plesk에서 cron 작업을 실행하면 모든 magento 2 명령이 작동하지 않고 이 메시지가 나타납니다.
Magento는 PHP 7.1.3 이상을 지원합니다.
아래 스크립트를 참조하세요. 뭐가 문제 야. 실행 중: CentOS Linux 7.8.2003 및 PHP 7.2.31
#!/usr/bin/env bash
file=*.ZIP
if [ -f $file ]
then
echo $file "exist"
#
cp $file ./backup
#
unzip -P web $file
#
rm -f $file
fi
#
if [ -f *BASIC.XML ]
then
mv *_BASIC.XML BASIC.XML
php -f ../../bin/magento import:job:run 1
fi
#
if [ -f *PRICES.XML ]
then
mv *_PRICES.XML PRICES.XML
php -f ../../bin/magento import:job:run 4
php -f ../../bin/magento import:job:run 2
fi
#
if [ -f *STOCKINFO.XML ]
then
mv *_STOCKINFO.XML STOCKINFO.XML
php -f ../../bin/magento import:job:run 3
fi
#
cp -f *.XML ./backup
#
rm -f *.XML
답변1
crontab에서 스크립트를 사용할 때마다 PATH
그에 따라 명령 변수를 설정해야 합니다(여기)./path/to/the/bin/magento
전임자:PATH=$PATH:/path/to/the/bin/magento
스크립트에서 ../
스크립트가 실행되는 디렉토리와 스크립트에서 사용하려면 항상 전체 경로를 사용하십시오../
cd
/path/to/the/bin/magento
답변2
문제가 해결되었습니다. plesk의 Cron 작업은 낮은 PHP 버전에서 실행된 다음 SSH를 통해 실행됩니다. 다음과 같이 스크립트를 편집하면 문제가 해결되었습니다.
/opt/plesk/php/7.2/bin/php -f $MAGEPATH/magento import:job:run 1