ฉันจะรัน cakephp shell ผ่าน cronjob ใน PHP-Version อื่นได้อย่างไร

เราใช้ Cakephp V2.10.3 ใน Crontab ของเรา เราต้องการรันคำสั่งเชลล์ cakephp ใน PHP V5.6 PHP เวอร์ชันนี้อยู่ใน /opt/plesk/php/php5.6/bin/php

Cronjob ดำเนินการคำสั่งเชลล์ต่อไปนี้:

cd /var/www/vhosts/apps/MyProject/app && Console/cake DoSomething

โค้ด PHP ใน 'DoSomething' จะบันทึกเวอร์ชัน PHP ลงในไฟล์โดยใช้ phpversion()

ปัญหา: บันทึกแสดงเวอร์ชัน PHP ต่อไปนี้: 5.4.45-0+deb7u11

ในแอป File/Console/cakephp เราได้แทนที่บรรทัดแรกด้วยบรรทัดต่อไปนี้:

#!/opt/plesk/php/php5.6/bin/php -q

แต่เมื่อเรารัน cronjob อีกครั้ง บันทึกยังคงแสดง PHP V5.4

เราจะรัน cronjob ใน PHP 5.6 ได้อย่างไร?


person Simon    schedule 21.10.2017    source แหล่งที่มา
comment
ลองดูคำตอบนี้อาจเกี่ยวข้อง superuser.com/questions/969861/   -  person Derek    schedule 22.10.2017
comment
@Derek: ขอบคุณมากสำหรับคำตอบของคุณ ดีแล้วที่รู้. แต่น่าเสียดายที่บทความนี้ไม่สามารถแก้ปัญหาได้   -  person Simon    schedule 22.10.2017


คำตอบ (1)


พิจารณาเปลี่ยนได้ที่ "app/Console/cake"

เส้น

exec php -q .....

to

exec /opt/plesk/php/php5.6/bin/php -q -d register_argc_argv=1 .....

ข้อมูลเพิ่มเติม:

PHP - อ้างอิง: => http://php.net/manual/en/ini.core.php#ini.register-argc-argv

person UFHH01    schedule 22.10.2017