2017-03-15 120 views
0

我嘗試使用phantomjs解析網頁,並且遇到了一個我無法弄清楚的問題。 如果您嘗試加載太多次,該頁面會顯示錯誤,並且存在我的問題。來自cron的phantomjs php腳本

我有一個PHP文件file.php$result = shell_exec('~/tmp/phantomjs/phantomjs/bin/phantomjs ~/www/phantomscript.js 2>&1');

如果我加載在瀏覽器中file.php,它工作得很好,它顯示的頁面內容。

但如果我嘗試它從cron php path/to/file.php運行它,它會顯示我嘗試過很多次的錯誤...

我的問題是,什麼可能是,同樣file.php在正常工作的問題瀏覽器,但如果它在控制檯或cron中加載,則它不起作用。

我的猜測是,這與php的工作方式有關,如果腳本加載到瀏覽器或從控制檯運行。也許你可以給我一個提示或其他東西。

謝謝。

+0

難道是'〜'與cron不同嗎?嘗試使用完整路徑。 – pguardiario

+0

您確定錯誤是由網頁生成的嗎?什麼是確切的措辭?你多久執行一次cron作業?也許你的服務器IP被禁止訪問該頁面?嘗試使用服務器SSH連接作爲代理訪問它。 @pguardiario是正確的,嘗試絕對路徑PhantomJS和腳本。 – Vaviloff

+0

錯誤是「請求的URL被拒絕,請諮詢您的管理員,您的支持ID是:long_number」。我通過加載文件trouhg file_get_conent和腳本的網址來「解決」了問題,而不是在控制檯中通過php運行它。 – PuiuCristian

回答

0

不是一個真正的答案,但是,一個醜陋的黑客。

它似乎現在工作,但我仍然想知道它爲什麼這樣做。

我做了一個單行 file_get_contents('http://the/web/url/of/the/file.php')

另一個PHP文件,我使用的是文件中的cron作業。

而且,這似乎工作,它加載頁面。