سؤال
أستخدم هذا الرمز حاليًا:
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())
أو؛
- يعمل PHP في Safe_Mode
- Apache ليس لديه أذونات لتنفيذ البرنامج النصي
لماذا تستدعي ملف PHP وليس تضمينه؟
علاوة على ذلك ، أتفق مع Chouchenos لأن هذا الخط من الكود:
shell_exec('php -l content.php'. mysql_insert_id())
سيتم تنفيذ مثل هذا "php -l content.php132" إذا كان mysql_insert_id () يرجع المعرف 132.
قد تكون هذه مشكلة بسبب content.php132
قد لا تكون موجودة.
لا تنتمي إلى StackOverflow