[英]PHP date() and strtotime() return wrong months on cron
我正在使用以下內容以不同的格式獲取上個月的信息,以便以后使用。
<?
date("m", strtotime("first day of -1 month"));
strtolower(date("M", strtotime("first day of -1 month")));
date("F", strtotime("first day of -1 month"));
?>
它應該在cron上運行並將它們打印到外部文件中。 當我手動運行此命令時,它可以用作超級按鈕,並打印出正確的月份(七月)。 但是,cronjob可以打印出十二月嗎? (腳本在八月運行)。
編輯:php版本是5.4
問題仍然沒有為我解決,但這可能會對其他人有所幫助。 問題是cron出於某種原因使用5.2.17,而網站的其余部分使用的是5.4。
感謝Langdi指出這可能是原因。 主機仍然無法找到問題的根源,一旦發現任何問題,我將在這里更新。
---更新,也許將來對任何人都有幫助:
這是我的房東的答復,我認為它可以解決問題:
您帳戶的cron作業全部以php開頭(它將在您使用的任何環境中運行默認的php)
的PHP /路徑/ script.php
問題是php版本是由htaccess設置的(在cron環境中不活動),因此您需要使用其他命令在此處選擇php 5.4。 解釋器的完整路徑。
的/ usr / PHP / 54 / USR / bin中/ PHP的
如果您還需要在cron上的帳戶中使用php.ini,則可以添加-c,然后添加該php.ini的路徑
-c /path/public_html/php.ini
所以在cron中使用的命令是:
/ usr / php / 54 / usr / bin / php -c /path/public_html/php.ini /path/public_html/script.php
嘗試在php.ini中的php中設置時區
您可以檢查有關PHP文檔這里時區在PHP中時區
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.