簡體   English   中英

如何讓mod_perl識別我的應用程序的更改?

[英]How do I get mod_perl to recognize changes to my application?

我正在我們的開發服務器上運行apache2 / mod_perl2組合。

當我正在開發時,我的更改會立即反映在我正在處理的網頁中。 我假設mod_perl很聰明,並在更改時重新加載文件。

但是現在另一個開發人員正在研究系統的不同部分,並且mod_perl不會選擇他們的更改。 他必須重新啟動apache才能看到他的變化。

有沒有辦法在我們的開發服務器上禁用緩存,或者讓mod_perl獲取他的更改?

謝謝。

編輯:我正在使用VI直接在開發服務器上編輯文件,另一個開發人員通過samba安裝了他們的開發目錄,並在Windows中編輯他們的文件。 這似乎是阻止mod_perl獲取更改的差異。

我剛剛閱讀了一篇很好的博客文章,總結了實現這一目標的所有可能方法: 如何不重新啟動mod_perl服務器作者:Jonathan Swartz

其他開發人員到底改變了什么?

要在模塊更改后重新加載,您將使用Apache2 :: Reload (盡管在考慮在生產中使用它之前,請參閱性能問題 。)

即使沒有它,mod_perl會在它們改變時重新加載cgi腳本; 如果你在討論cgi腳本,我不知道其他開發者是否可以解決這個問題。

既然它只是用於開發,那么如何殺死所有子進程並讓父apache進程重新生成呢?

kill -9 $(ps axf | grep httpd | egrep -e ' S ' | cut -b1-5 | paste -s -d ' ')
  • 在我的環境中,上面的命令適用於我的盒子,你的里程會有所不同。

無論如何,它不是一個優雅的解決方案,但是,它比完全apache重啟更快。

暫無
暫無

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

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