سؤال

أستخدم هذا الرمز حاليًا:

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 يعمل فعليًا عن طريق ملء النموذج وتقديمه: لكنه لا يردد أي شيء على الإطلاق.

هل كتبت رمز خاطئ؟

هل كانت مفيدة؟

المحلول

جرب هذا. هذا قد يساعدك.

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

أو

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

أتمنى لك كل خير.

شكرًا،

كانجي

نصائح أخرى

.. ربما هذا سوف يعمل من أجلك:

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

أو؛

  1. يعمل PHP في Safe_Mode
  2. Apache ليس لديه أذونات لتنفيذ البرنامج النصي

لماذا تستدعي ملف PHP وليس تضمينه؟

علاوة على ذلك ، أتفق مع Chouchenos لأن هذا الخط من الكود:

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

سيتم تنفيذ مثل هذا "php -l content.php132" إذا كان mysql_insert_id () يرجع المعرف 132.

قد تكون هذه مشكلة بسبب content.php132 قد لا تكون موجودة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top