![](/img/trans.png)
[英]How do I have a persistent DBIx::Class in CGI::Application with 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.