كيفية تحميل إضافات PHP خارجية في ServBay
تأتي ServBay مزودة بـ وحدات إضافات PHP الشائعة، حيث يحتاج المستخدمون فقط إلى الإعداد والتفعيل من خلال اللغة
- إصدار PHP
- الإضافات
في ServBay.
لكن في بعض الأحيان، قد يحتاج المستخدمون إلى تحميل وحدات غير مرفقة مع ServBay، ستتناول هذه المقالة كيفية تحقيق هذه العملية.
تسمح ServBay للمستخدمين بتحميل إضافات خارجية لـ PHP التي يديرونها بشكل مرن. ستستخدم هذه الوثيقة ionCube Loader كمثال، لإرشادك خلال العملية بأكملها. هذه الخطوات مفيدة أيضًا لتحميل إضافات Zend أو إضافات PHP التي يتم تجميعها بواسطة المستخدم (.so
ملفات).
تنبيه: ionCube Loader هو إضافة Zend، لذا يجب استخدام توجيه zend_extension
عند الإعداد، بدلاً من توجيه extension
.
المتطلبات الأساسية
- يجب أن تكون قد قمت بتثبيت وتشغيل ServBay.
- يجب أن يكون لديك حقوق مسؤول للوصول إلى ملفات النظام وواجهة إعداد ServBay.
- يجب أن تكون على دراية باستخدام تطبيق الطرفية (Terminal) في macOS.
ملاحظة
توفر ServBay إصدارات PHP للمعمارية الأصلية لكل من شرائح Intel و Silicon (M1/M2/M3/M4). عند تحميل so
الملفات، تأكد من أن معمارية so
الملف الذي قمتم بتحميله تتطابق مع معمارية حزمة ServBay.
لا يمكن استخدام ملفات بمعماريات مختلفة، وستؤدي الاختلافات إلى تعطل PHP.
- تحقق من معمارية حزمة PHP المرفقة مع ServBay:
file /Applications/ServBay/package/php/8.3/current/bin/php
المعلومات التي ستظهر مشابهة لـ:
php: Mach-O 64-bit executable arm64 # معمارية Silicon Arm64
php: Mach-O 64-bit executable x86_64 # معمارية Intel x86
2
- تحقق من معمارية ملف
so
الذي تحتاج إلى تثبيته:
file xdebug.so
المعلومات التي ستظهر مشابهة لـ:
xdebug.so: Mach-O 64-bit bundle arm64 # معمارية Silicon Arm64
xdebug.so: Mach-O 64-bit bundle x86_64 # معمارية Intel x86
2
خطوات التنفيذ
الخطوة 1: تحميل ionCube Loader
- قم بزيارة الصفحة الرسمية لتحميل ionCube Loader. بالنسبة لعضو ARM64 (شرائح Apple Silicon M)، يرجى تحميل الإصدار Darwin ARM64. يمكنك استخدام الرابط التالي مباشرة (تأكد من التحقق من وجود إصدارات محدثة): https://downloads.ioncube.com/loader_downloads/ioncube_loaders_dar_arm64.tar.gz
- بعد الانتهاء من التحميل، ستحصل على ملف مضغوط
.tar.gz
، مثلioncube_loaders_dar_arm64.tar.gz
.
الخطوة 2: تحديد إصدار PHP المستهدف ومجلد الإضافات
افتح تطبيق ServBay.
في شريط التنقل على اليسار، انقر على Languages.
في القائمة الموجودة على اليمين، ابحث عن إصدار PHP الذي ترغب في تثبيت ionCube Loader عليه (على سبيل المثال في هذه الحالة PHP 8.3). احفظ رقم الإصدار هذا.
عادةً ما يتم تخزين إضافات PHP للمزود في مسار محدد. وفقًا لبنية التثبيت القياسية لـ ServBay ونموذج الصور، قد يبدو مجلد الإضافات لإصدار PHP 8.3 كما يلي:
/Applications/ServBay/package/php/8.3/8.3.16/lib/php/extensions/no-debug-non-zts-20230831/
/Applications/ServBay/package/php/
هو المسار الأساسي لحزمة PHP الخاصة بـ ServBay.8.3/
هو مجلد الإصدار الرئيسي.8.3.16/
هو المجلد الخاص بالإصدار الدقيق لـ PHP (يرجى تعديل هذا وفقًا للإصدار الذي قمت بتثبيته فعليًا).lib/php/extensions/
هو المسار الخاص بمجلد الإضافات.no-debug-non-zts-xxxxxxxx/
هو مجلد الإصدار الدقيق لواجهة برمجة التطبيقات (API) وخيارات التجميع (سيتغير اسم هذا المجلد مع إصدار PHP).
هام: يجب عليك تحديد أو العثور على هذا المسار بدقة وفقًا لإصدار PHP الذي تم تثبيته ومعماريته في ServBay. يمكنك أيضًا البحث باستخدام أوامر الطرفية (تأكد من استخدام مسار PHP الذي تديره ServBay):
bash/Applications/ServBay/package/php/8.3/current/bin/php -i | grep extension_dir
1استبدل
/Applications/ServBay/package/php/8.3/current/bin/php
بالمسار الفعلي لملف PHP القابل للتنفيذ لأصدار PHP الخاص بك. سيتم عرض النتيجة كالتاليextension_dir => /path/to/extension/directory
.
الخطوة 3: فك الضغط ووضع ملفات Loader
- افتح تطبيق الطرفية (Terminal).
- استخدم الأمر
cd
للدخول إلى المجلد الذي قمت بتحميل ملف.tar.gz
فيه (عادةً يكون مجلدDownloads
).bashcd ~/Downloads
1 - فك ضغط الملف المحمل:bashسيتم إنشاء مجلد يسمى
tar -zxvf ioncube_loaders_dar_arm64.tar.gz
1ioncube
. - انتقل إلى مجلد
ioncube
:bashcd ioncube
1 - في هذا المجلد، ستجد ملفات
.so
المطابقة للإصدارات المختلفة من PHP، مثلioncube_loader_dar_8.3.so
. ابحث عن الملف الذي يتطابق مع إصدار PHP المستهدف (الذي حددته في الخطوة 2، على سبيل المثال 8.3). - انسخ هذا الملف
.so
المطابق إلى مجلد الإضافات الذي حددته في الخطوة 2. لنفترض أن المجلد المستهدف هو مسار المثال السابق، وأنك ترغب في تثبيت Loader للإصدار PHP 8.3:bashcp ioncube_loader_dar_8.3.so /Applications/ServBay/package/php/8.3/8.3.16/lib/php/extensions/no-debug-non-zts-20230831/
1- تأكد من استبدال المسار المستهدف بـ المسار الفعلي لمجلد الإضافات الخاص بإصدار PHP الخاص بك.
- تأكد من نقل ملف
.so
المطابق بشكل دقيق لإصدار PHP.
الخطوة 4: إعداد PHP في ServBay
عد إلى واجهة تطبيق ServBay.
تأكد من اختيار Languages في اليسار، ثم انقر على إصدار PHP الذي تريد تكوينه (على سبيل المثال PHP 8.3).
في منطقة التكوين المنبثقة على اليمين، انقر على علامة التبويب PHP (كما هو موضح بالسهم 1 في الصورة أدناه).
مرر لأسفل حتى تجد مربع النص Additional Parameters (معلمات إضافية).
في مربع النص هذا، أضف السطر التالي (كما هو موضح بالسهم 2 في الصورة أدناه)، وحدد المسار النسبي لملف ionCube Loader:
inizend_extension = ioncube_loader_dar_8.3.so
1- مرة أخرى، التأكيد: يجب أن يكون ملف
so
موجوداً بدقة في المسارextension_dir
الذي حصلت عليه في الخطوة 3. تحقق بعناية. - استخدم
zend_extension
بدلاً منextension
، لأن ionCube Loader هو إضافة Zend. - إذا كان هناك إعدادات أخرى في هذا المربع، فيمكنك إضافة هذا التوجيه في سطر جديد.
- مرة أخرى، التأكيد: يجب أن يكون ملف
انقر على زر Save في الزاوية اليمنى السفلى لحفظ الإعدادات.
الخطوة 5: إعادة تشغيل خدمة PHP
بعد النقر على زر الحفظ، ستقوم ServBay بإعادة تشغيل خدمة PHP تلقائيًا.
الخطوة 6: التحقق من نجاح التحميل
يمكنك التحقق من نجاح تحميل ionCube Loader بطريقتين:
من خلال سطر الأوامر:
افتح الطرفية.
نفذ الأمر التالي (تأكد من استخدام المسار الكامل لإصدار PHP المستهدف):
bash/Applications/ServBay/package/php/8.3/current/bin/php -m | grep -i ioncube
1إذا تم التحميل بنجاح، يجب أن ترى مخرجًا مثل
ionCube Loader
.يمكنك أيضًا تشغيل
php -v
للتحقق من معلومات الإصدار، حيث سيظهر عادةً معلومات تتعلق بـ ionCube بعد التحميل:bash/Applications/ServBay/package/php/8.3/current/bin/php -v
1مثال على المخرج:
PHP 8.3.16 (cli) (بني: 31 يناير 2025 15:09:39) (NTS) حقوق الطبع والنشر (c) مجموعة PHP Zend Engine v4.3.16, حقوق الطبع والنشر (c) تقنيات Zend مع ionCube PHP Loader v14.4.0, حقوق الطبع والنشر (c) 2002-2024، من قبل ionCube Ltd.
1
2
3
4
من خلال phpinfo():
- قم بإنشاء ملف PHP يحتوي على مضمون
<?php phpinfo(); ?>
(مثلinfo.php
) وضعه في جذر موقعك. - استخدم المستعرض للوصول إلى هذا الملف (مثل
http://your-local-site.test/info.php
). - في صفحة مخرج
phpinfo()
، ابحث عن "ionCube". إذا تم تحميله بنجاح، سترى قسم معلومات خاص بـ ionCube Loader، يظهر إصدارها وغيرها من المعلومات التفصيلية.
- قم بإنشاء ملف PHP يحتوي على مضمون
خلاصة
بعد اتباع الخطوات أعلاه، ينبغي أن تتمكن من تحميل ionCube Loader أو إضافات PHP الخارجية الأخرى لنسخة PHP معينة تديرها ServBay بنجاح. تكمن الأهمية في العثور على ملف الإضافة الصحيح، وتحديد الدليل الصحيح لإضافات PHP، وإضافة التوجيه المناسب في إعداد ServBay (zend_extension
أو extension
). إذا واجهت أي مشاكل، تحقق بعناية من المسارات، وتصاريح الملفات، وما إذا كنت قد قمت بإعادة تشغيل خدمة PHP.