سؤال

أقوم بإجراء مكالمة لتنزيل ملف XML وكتابته في ملف باستخدام exec() والأمر الضفيرة.لقد حاولت استخدام curl_exec()، لكن لم يتعرف عليه نظام PHP الخاص بي.

بطريقة ما، فشل استدعاء cURL الآن.لم يحدث ذلك من قبل، ولكن ذات يوم قمت بزيارة موقعي و- WHAM.وداعا محلل XML.

الأشياء التي نجحت:

  • استدعاء cURL من سطر الأوامر بنفس الوسيطة.
  • exec("لس /");

الأشياء التي لم تنجح:

  • الذي يلتف، ثم يكمل المسار إلى cURL في وظيفتي exec.
  • البحث عبر Google عن الخطأ الذي يحدثه الضفيرة عندما أقوم بإخراج الأخطاء من وظيفة exec

    ld.so.1:لفة:مميت:/opt/csw/lib/libsunmath.so.1:نوع ملف غير معروف

  • باستخدام shell_exec

  • باستخدام wget علقت البرنامج النصي بطريقة أو بأخرى.فقط لم تنتهي أبدا.
  • جلد الذات
هل كانت مفيدة؟

المحلول

تمكنت من الترميز حول المشكلة.اكتشفت أن البرنامج النصي كان معلقًا مع wget لأن الخادم لا يستجيب.المشكلة، ولكن إزالة هذا الرابط حل مشكلتي.

إنه أمر محزن لأن الطريقة التي كنت أستخدم بها cURL كانت أكثر نظافة بالنسبة لـ IO.لحسن الحظ، يقوم هذا التحديث بفحص الإدخال قبل تغيير الملفات.يؤدي هذا الآن إلى إنشاء ملف مؤقت يتم تنزيله إليه ثم التحقق للتأكد من أنه التنسيق الصحيح قبل نقل الملف إلى موقعه الجديد.

إنها محنة بالتأكيد، لكن الكثير من الأشياء الجيدة ستأتي منها.

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