الان عندي سكربت ببرمجه php وقديم اكواده وباصدار PHP 5.x (2004) ما الحل لتعديل ملفات السكربت او البرمجه

التثبيت ورفعه على الاستضافه انتبه في اوامر بس لماذكرها ابحث عنها
 1- تعمل قالب باسم rector.php
 وفي مجلد vendor
 تضعه
 نسخه rector من GitHub
 
 كيف يعمل:
 Rector هو أداة برمجية تقوم بتعديل الأكواد تلقائيًا بناءً على مجموعة من القواعد التي تحددها. يمكنها تحديث الكود البرمجي القديم ليعمل مع الإصدارات الأحدث من PHP
 العملية: لا ترفع "قالب" أو "كود" لتعديله، بل تقوم بتحديد ملفات المشروع التي تحتوي على الأكواد القديمة (مثل ملفات PHP). بعد ذلك، تقوم الأداة بفحص الكود وتطبيق التعديلات اللازمة بناءً على القواعد التي تحددها
 مثال: إذا كان لديك سكربت يستخدم دوالًا قديمة تم إيقاف دعمها في الإصدارات الحديثة من PHP، مثل mysql_*، يقوم Rector باستبدالها تلقائيًا بـ mysqli أو PDO
 الخطوات:
 تقوم بتثبيت Rector باستخدام Composer أو تنزيله
 تقوم بتحديد قاعدة التعديل مثل تحويل الكود من إصدار PHP قديم إلى إصدار حديث
 ثم تقوم بتشغيل الأداة على ملفات المشروع، والتي تقوم بتحليل الكود وتطبيق التعديلات التلقائية عليه
 2- للاسف حصلت شرح معقد وطويل
 لزم وجود
 Composer
 كيف يعمل:
 PHPCompatibility هو مكتبة أو أداة فحص تساعدك في تحديد المشكلات التي قد تظهر عند استخدام الأكواد القديمة مع إصدارات جديدة من PHP
 لا يقوم PHPCompatibility بتعديل الأكواد تلقائيًا، بل يُستخدم كأداة لفحص الكود وتحديد الأخطاء والمشاكل المحتملة مثل استخدام دوال قديمة أو خصائص متوقفة
 العملية:
 تقوم بتثبيت مكتبة PHPCompatibility باستخدام Composer
 تقوم بتشغيل الأداة على ملفات المشروع، وهي ستقوم بإظهار تحذيرات حول المشكلات في الكود. بعد ذلك، يتعين عليك تعديل الكود يدويًا بناءً على هذه التحذيرات
 مثال: إذا كنت تستخدم دالة mysql_connect() (التي تم إيقاف دعمها في الإصدارات الحديثة من PHP)، ستعرض الأداة تحذيرًا وتوجهك إلى استخدام دالة mysqli_connect() أو PDO بدلاً منها
 + اختصار السكربت القديم وما هي المتغير لجديد وما السبب تطور وحفظ الحقوق لمبرمج من اي سرقات ويجبون بشراء نسخه مدفوعه
 وسبحان الله مافي شئ مكتمل لبد من حل والكما لله سبحانه:
 إليك الخطوات التي يجب اتباعها لتحديث السكربت القديم وتعديله ليعمل على الإصدار الأحدث من PHP:
 1. تحليل السكربت القديم
 قبل البدء في أي تعديلات، يجب أن تقوم بمراجعة السكربت بالكامل والبحث عن الأكواد القديمة أو الممارسات التي قد لا تكون مدعومة في الإصدارات الحديثة من PHP
 بعض الأشياء التي يجب البحث عنها:
 الوظائف deprecated (الوظائف التي تم إيقاف دعمها): مثل mysql_* (التي تم استبدالها بـ mysqli_* أو PDO)
 الجمل غير الآمنة مثل eval() أو exec() التي قد تُستخدم بشكل سيء
 استخدام PHP global variables مثل $_REQUEST أو $_GET دون تنظيف البيانات
 2. ترقية الأكواد القديمة
 بعد تحديد الأجزاء التي تحتاج إلى تعديل، يجب البدء في تحديث السكربت ليعمل مع الإصدارات الحديثة. إليك بعض التعديلات الشائعة التي قد تحتاجها:
 أ. استبدال دوال mysql_*
 في PHP 5.x، كنت تستخدم دوال مثل mysql_query() و mysql_fetch_assoc()، لكنها قديمة ولم تعد مدعومة في PHP 7.x فما فوق. يجب استبدال هذه الدوال بـ:
 mysqli_* أو PDO
 على سبيل المثال:
 نسخ
 // قديم
 $conn = mysql_connect($host, $user, $pass);
 $result = mysql_query("SELECT * FROM table");
 // حديث
 $conn = new mysqli($host, $user, $pass, $dbname);
 $result = $conn->query("SELECT * FROM table");
 ب. تنظيف المدخلات وتجنب SQL Injection
 في PHP 5.x، قد تكون بعض السكربتات القديمة لا تقوم بتصفية المدخلات بشكل جيد. SQL Injection هو أحد المخاطر الكبيرة في الأكواد القديمة
 استخدم استعلامات محضرة (prepared statements) بدلاً من استعلامات SQL الخام
 نسخ
 // قديم
 $query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
 // حديث باستخدام Prepared Statements
 $stmt = $conn->prepare("SELECT * FROM users WHERE username = ? AND password = ?");
 $stmt->bind_param("ss", $username, $password);
 $stmt->execute();
 $result = $stmt->get_result();
 ج. إزالة الوظائف القديمة:
 بعض الدوال التي كانت شائعة في PHP 5.x أصبحت الآن deprecated أو غير مدعومة:
 ereg() تم استبدالها بـ preg_match()
 split() تم استبدالها بـ explode()
 د. **تحديث التعامل مع الملفات **:
 في PHP 5.x، قد تجد بعض الأكواد التي تتعامل مع الملفات بطريقة قديمة. تأكد من استخدام الدوال الحديثة لفتح وقراءة الملفات، مثل استخدام fopen() و file_get_contents()

إرسال تعليق

0 تعليقات