2010-10-04 48 views
0

我目前使用此代碼:了shell_exec phpfile

if(isset($_POST['url']) && isset($_POST['trefwoorden'])) 
{ 
    mysql_connect('localhost', 'crawler', 'whathasbeenseencannotbeunseen'); 
    mysql_select_db("crawler"); 
    mysql_query("INSERT INTO jobs (jobID, url, trefwoorden) VALUES ('', '".$_POST['url']."', '".$_POST['trefwoorden']."')"); 
    $output = shell_exec("./content.php " .mysql_insert_id()); 
    echo $output; 

} 

在我content.php我有以下代碼:

#!/usr/bin/php 
<?php 
echo 'HET WERKT'; 
?> 

現在我想看看我的了shell_exec實際上在填土工程形式並提交它:但它根本不反映任何事情。

我寫錯了代碼嗎?

+0

是content.php可執行嗎? – codaddict 2010-10-04 09:39:09

+0

您是否將CLI(命令行界面)安裝到PHP?/usr/bin/php是否存在? content.php是否可執行?你有沒有嘗試從外殼運行它? – 2010-10-04 09:41:23

+0

是的。 要填寫評論的文字。 – Jordy 2010-10-04 09:41:36

回答

1

試試這個。這可能會幫助你。

shell_exec('usr/local/bin/php -l content.php'. mysql_insert_id()) 

shell_exec('usr/local/bin/php -content.php'. mysql_insert_id()) 

所有最優秀的。

感謝,

漢字

+0

也不適合我,有一些隨機測試工作,但我的實際代碼將無法啓動。 如果您的任何代碼工作,請回復:)! – Jordy 2010-10-04 12:47:04

+0

你好,試試我在答案中提到的新代碼。 – 2010-10-05 06:22:04

0

..也許這會爲你工作:

shell_exec('php -l content.php'. mysql_insert_id()) 

;或

  1. PHP在safe_mode設置運行
  2. 阿帕奇沒有權限來執行該腳本
+0

不給我的回聲,返回:沒有檢測到錯誤content.php – Jordy 2010-10-04 11:29:29

0

爲什麼你調用一個PHP文件,而不是包括它?

此外,我同意Chouchenos,因爲這行代碼:

shell_exec('php -l content.php'. mysql_insert_id()) 

將執行這樣的 「PHP -l content.php132」 如果mysql_insert_id()返回ID 132

這可能是一個問題,因爲content.php132可能不存在。

+0

因爲我需要在後臺獲得一個進程來加速我的抓取網頁的過程。 – Jordy 2010-10-04 14:28:28

+0

hmm試試這個mysql_query(「INSERT INTO jobs(jobID,url,trefwoorden,used)VALUES('','」。$ _ POST ['url']。「','」。$ _ POST ['trefwoorden']。「 」,0)「);並添加一行,將lowes jobID用於content.php,並將其用於該作業。 – ITroubs 2010-10-04 14:37:06