簡體   English   中英

使用命令行運行PHP腳本,就像Apache調用它一樣

[英]Running a PHP script with command line as if it was called by Apache

我正在使用PHP的APC模塊的用戶緩存。 我正在使用cron作業來調用更新變量的腳本。 當我通過瀏覽器運行腳本時,一切正常。 但是,當我通過命令行運行腳本時,它無法存儲或檢索變量。 我記得在某處看到APC將變量存儲在Apache進程中。 使用命令行,我直接運行腳本(沒有Apache),因此APC用戶緩存不起作用。

我找不到讓APC使用命令行的方法( apc.enable_cli不起作用)。 因此,我想找到一種通過命令行運行PHP腳本的方法,就像Apache調用它一樣。 腳本不在文檔根目錄中,因此我無法使用本地瀏覽器。 如何使用命令行使Apache運行PHP腳本?

我的cron行看起來像這樣:

0 * * * * /path/to/php /path/to/script.php

使用php-cli運行php,你將永遠不會達到與mod_php在Apache中使用的緩存相同的APC緩存。 這是設計的

使用apc.enable_cli您只需激活另一個APC緩存,用於腳本的生命周期。

因此,APC不是存儲“變量”的正確位置,因為它不是像數據庫或鍵/值存儲那樣的共享存儲。

例如,你在drupal.org問題上有一個非常長的線程,關於如何在cli模式下運行時清空APC上的drupal緩存集 ,這通常意味着一個兩步模式,你在共享存儲上存儲一條指令, mod_php版本可以稍后閱讀,無法直接訪問。

我不知道在命令行模式下運行mod_php的方法。

也許你應該使用php-cgi版本。 當您使用終端運行php時,您使用的是php cli版本,但它可以擁有除php-cgi之外的其他設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM