يؤدي استدعاء grep لـ gnuwin من php إلى إرجاع قيمة فارغة
-
26-12-2019 - |
سؤال
أنا أعمل على ويندوز 7.أحاول تنفيذ Gnuwin32 grep
الأمر من داخل البرنامج النصي PHP مثل ذلك var_dump(shell_exec("grep"))
, ، حتى أتمكن من معرفة ما إذا كان يعمل أم لا.بدلا من الناتج المتوقع من usage:
وأشياء من هذا القبيل أحصل عليها null
.
C:\gunwin\bin
موجود على مسار Windows الخاص بي وعلى PHPinclude_path
grep
يعمل من سطر الأوامرshell_exec('dir')
(أو أي أمر بيئة Windows "عادي" آخر) يعمل كما هو متوقع
أنا متأكد من أنني أفتقد شيئًا واضحًا هنا، لكن لا يمكنني معرفة ما هو.هل لدى أي شخص اقتراح؟
يحرر:شيء غريب حدث.حاولت shell_exec('wget')
, ، فقط من أجل ذلك.هذا يعمل كما هو متوقع.بعد ذلك حاولت shell_exec('grep --help')
وهذا في الواقع يُرجع المخرجات التي توقعتها.أنا مرتبك قليلا الآن.
المحلول
grep، بدون وسيطات، لا يكتب شيئًا في stdout، ولكنه يعرض سطرين (تعليمات لاستخدام --help) على stderr، والذي لا يتم إرجاعه باستخدام shell_exec.
لا تنتمي إلى StackOverflow