سؤال

أنا أعمل على ويندوز 7.أحاول تنفيذ Gnuwin32 grep الأمر من داخل البرنامج النصي PHP مثل ذلك var_dump(shell_exec("grep")), ، حتى أتمكن من معرفة ما إذا كان يعمل أم لا.بدلا من الناتج المتوقع من usage: وأشياء من هذا القبيل أحصل عليها null.

  • C:\gunwin\bin موجود على مسار Windows الخاص بي وعلى PHP include_path
  • grep يعمل من سطر الأوامر
  • shell_exec('dir') (أو أي أمر بيئة Windows "عادي" آخر) يعمل كما هو متوقع

أنا متأكد من أنني أفتقد شيئًا واضحًا هنا، لكن لا يمكنني معرفة ما هو.هل لدى أي شخص اقتراح؟

يحرر:شيء غريب حدث.حاولت shell_exec('wget'), ، فقط من أجل ذلك.هذا يعمل كما هو متوقع.بعد ذلك حاولت shell_exec('grep --help') وهذا في الواقع يُرجع المخرجات التي توقعتها.أنا مرتبك قليلا الآن.

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

المحلول

grep، بدون وسيطات، لا يكتب شيئًا في stdout، ولكنه يعرض سطرين (تعليمات لاستخدام --help) على stderr، والذي لا يتم إرجاعه باستخدام shell_exec.

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