كيفية إنشاء نص مبيعات فعال؟ تعلم كتابة نصوص المستخدمين كيفية عمل نصوص برمجية

23.06.2021

أي مبتدئ مسؤول النظاميواجه Linux عاجلاً أم آجلاً مفهومًا مثل " script"، سواء كان ذلك أحد نصوص التمهيد مثل /etc/rc.d/rcأو نص تكوين مكتوب بواسطة مطور البرنامج تكوين. سأحاول في هذه المقالة إظهار كيفية كتابة البرامج النصية صدَفَةليس شيئًا خارجًا عن المألوف وهو ممكن تمامًا حتى بالنسبة للمبتدئين في عالم Linux.

لنبدأ بالنظر إلى ما هو مخفي وراء المصطلحات الإنجليزية. صدَفَةو script. صدَفَة، أو الصدفة، كما يُترجم المصطلح أحيانًا، هي مترجم أوامر، وواجهة بين المستخدم ونظام التشغيل، ونواة النظام. ولكن أكثر من ذلك، فهي أيضًا لغة برمجة وبرمجة نصية قوية. يحتوي على كلمات وظيفية وهياكل تحكم خاصة به ويسمح لك بكتابة البرامج عليه. يسمى برنامج لغة البرمجة النصية هذا script، يمكنه الجمع بين مكالمات النظام والأوامر نظام التشغيل، وكذلك المرافق الخارجية، وخلق أداة قويةلإدارة النظام.

واحدة من مهام إدارة النظام نسخة احتياطية معلومات مهمة. لذلك، دعونا نلقي نظرة على مثال لبرنامج نصي يقوم بتنفيذ معلومات النسخ الاحتياطي.

البداية بدأت

لذلك، أولا وقبل كل شيء، نحن بحاجة إلى فهم بنية البرنامج النصي. إنه ليس شيئًا معقدًا. بشكل عام، أبسط برنامج نصي هو مجرد تعداد أوامر النظام. على سبيل المثال:

صدى هذا مجرد مثال
com.whoami
اسم -أ

يتم دمج هذه الأوامر في ملف واحد. لكن يجب أن تعلم الصدفة أنه يجب عليها معالجة هذا الملف، وليس مجرد قراءة محتوياته. هناك بناء خاص لهذا: #!

هذا التصميم يسمى " شا بانج" في الواقع، # يحدد تعليقًا، ولكن في في هذه الحالةيعني t sha-bang أنه بعد ذلك سيذهب المسار إلى معالج البرنامج النصي. على سبيل المثال:

#!/بن/باش
#!/بن/ش
#!/usr/bin/Perl

سوف نلتزم بقذيفة Bash، Bourne-Again. يتم تثبيت هذه الصدفة بشكل افتراضي على جميع أنظمة Linux تقريبًا، ويرتبط بها /bin/sh. تتم الإشارة إلى نهاية البرنامج النصي من خلال خروج كلمة الخدمة.

متسلحين بهذه المعرفة، دعونا نكتب نصنا الأول:

#!/بن/باش
echo Simple script # يطبع أمر الصدى رسالة على الشاشة
صدى أنت:
whoami #whoami يظهر اسم المستخدم المسجل
صدى لقد بدأ النظام الخاص بك
وقت التشغيل # وقت التشغيل يوضح الوقت الذي تم فيه تشغيل الجهاز
صدى اليوم
التاريخ # يعرض التاريخ التاريخ والوقت الحاليين
صدى هذا كل شيء في الوقت الراهن
مخرج

لنحفظ هذا الملف تحت اسم tutor1.sh. لنقم بتشغيل الأمر لجعل البرنامج النصي قابلاً للتنفيذ.

Chmod +rx tutor1.sh

ستكون نتيجة تشغيل البرنامج النصي:

Voland@superstar:~/Doc/Open Source$ ./tutor1.sh
نص بسيط
أنت:
فولاند
لقد بدأ النظام الخاص بك
14:38:46 حتى 1:48، 2 مستخدمين، متوسط ​​التحميل: 0.47، 0.43، 0.41
اليوم
الأحد 26 فبراير 14:38:46 MSK 2006
هذا كل شيء في الوقت الراهن

دعنا ننتقل إلى شيء أكثر خطورة.

الآن بعد أن تعلمنا كيفية كتابة النصوص البرمجية الأساسية، حان الوقت للانتقال إلى الأشياء الجادة: كتابة نص احتياطي.

بادئ ذي بدء ، من الضروري تحديد - نسخة احتياطيةماذا سنفعل؟ لذلك، يجب أن يكون البرنامج النصي لدينا قادرًا على العمل مع سطر الأوامر. الحجج سطر الأوامريتم تحديدها بعد اسم البرنامج النصي مفصولاً بمسافة: somescript arg1 arg2 arg3. يتعرف البرنامج النصي على الوسائط من خلال أرقامها التسلسلية، لذلك سنستخدم إنشاءات النموذج $argument_number، أي. 1 دولار، 2 دولار، 3 دولار. $ هو حرف بدل سنحتاجه أيضًا عند العمل مع المتغيرات. يتم تحديد المتغيرات في البرنامج النصي في شكل متغير_اسم=قيمة. سنستخدم المتغيرات MAXPARAMS لتحديد الحد الأقصى لعدد معلمات سطر الأوامر، وBACKUPFILE لتعيين اسم الأرشيف، وBACKUPDIR للمجلد الذي سنقوم بنسخه احتياطيًا، وARCHIVEDIR للمجلد الذي سنضع فيه الأرشيف. سيكون الجزء الأكثر أهمية في البرنامج النصي هو أوامر البحث وأرشفة جميع الملفات والمجلدات الموجودة في المجلد المحدد:

يجد. -نوع f -print0 | xargs -0 tar rvf "$archive.tar" > /dev/null
gzip $archive.tar

دعونا معرفة ما تفعله هذه الأوامر. يبحث البحث في الدليل الحالي (يُشار إلى ذلك بواسطة الوسيطة الأولى ".") عن كافة الملفات ويعيد المسار الكامل إليها (print0). تتم إعادة توجيه هذه المسارات أمر القطران، الذي يجمع كل الملفات في ملف واحد. ثم، باستخدام الأمر gzip، نقوم بأرشفة ملف tar الناتج. فريق > /dev/nullمناسب إذا قمت بالأرشفة عدد كبيرملفات. في هذه الحالة، لا يتم عرض أسمائهم والمسار الكامل لهم على وحدة التحكم.

والخطوة التالية هي تقديم تلميحات للمستخدم حول كيفية استخدام البرنامج النصي إذا ارتكب أي أخطاء.

على سبيل المثال، هذا التصميم

إذا [ $# -lt "$MAXPARAMS" ];
ثم
صدى

صدى
خروج 0
فاي

سيشير إلى أن المستخدم لم يحدد ما يكفي من وسائط سطر الأوامر. إذا [حالة]...فاييحدد البناء المشروط. $# -lt "$MAXPARAMS"يتحقق من عدد المعلمات التي تم إدخالها وإذا كان هذا الرقم أقل من MAXPARAMS، فسيتلقى المستخدم رسالة تشير إلى إدخال خاطئ. سيؤدي الخروج 0 إلى إنهاء البرنامج النصي دون تحديد رمز خطأ. يتم التحقق من زيادة العدد المسموح به من المعلمات بطريقة مماثلة، فقط بدلاً من ls (أقل من - أقل من)، يجب عليك تحديد gt (أكبر من - أكبر من). الآن بعد أن تم شرح النقاط الرئيسية للبرنامج، يمكننا الانتقال إلى نسخته الكاملة:

#!/بن/باش
# وصف:
#+ عمل نسخة احتياطية لجميع الملفات الموجودة في الدليل المحدد
#+ في "tarball" (أرشيف tar.gz).
#+ الاستخدام:
#+ sh Backup.sh archive_name المجلد الوجهة للمجلد المصدر
#+

# الحد الأقصى لعدد معلمات سطر الأوامر
الحد الأقصى = 3

إذا [ $# -lt "$MAXPARAMS" ];
ثم
صدى
صدى "الاستخدام: sh `basename $0` archive_name المجلد المصدر المجلد الوجهة"
صدى
خروج 0
فاي

إذا [ $# -gt "$MAXPARAMS" ];
ثم
صدى
echo "يتطلب هذا البرنامج النصي وسيطات سطر الأوامر $MAXPARAMS فقط!"
صدى
خروج 0
فاي

# المتغيرات التي نستخدمها في البرنامج النصي
ملف النسخ الاحتياطي=$1-النسخ الاحتياطي-$(التاريخ +%m-%d-%Y)
الأرشيف=$BACKUPFILE
النسخ الاحتياطي = 2 دولار
أرشيفيدير = 3 دولار

# تحقق مما إذا كان هناك مجلد مصدر ومجلد وجهة
لو [! -e $BACKUPDIR ];
ثم
صدى
صدى "\"$BACKUPDIR\" غير موجود!"
صدى
خروج 0
فاي

لو [! -e $ARCHIVEDIR ];
ثم
صدى
صدى "\"$ARCHIVEDIR\" غير موجود، جارٍ إنشاء..."
مكدير $ARCHIVEDIR
صدى "تم".
فاي

# التحقق من وجود أرشيفات في المصدر والوجهة.
مؤتمر نزع السلاح $ARCHIVEDIR
إذا [ -e $archive.tar.gz ]؛
ثم rm $archive.tar.gz
فاي

مؤتمر نزع السلاح $BACKUPDIR
إذا [ -e $archive.tar.gz ]؛
ثم rm $archive.tar.gz
فاي

#الجزء الرئيسي من النص...
echo "جاري عمل نسخة احتياطية من \"$BACKUPDIR\" إلى الملف \"$archive.tar.gz\"..."
يجد . -نوع f -print0 | xargs -0 tar rvf "$archive.tar" > /dev/null
gzip $archive.tar
echo "تمت أرشفة \"$BACKUPDIR\" بنجاح إلى الملف \"$archive.tar.gz\"."

# انقل الأرشيف إلى مجلد ARCHIVEDIR
echo "نقل الأرشيف \"$archive.tar.gz\" إلى المجلد \"$ARCHIVEDIR\"."
mv $archive.tar.gz $ARCHIVEDIR/$archive.tar.gz
صدى "تم".

آمل أن أكون قد علقت على النقاط الرئيسية بالتفصيل الكافي. إذا كان لديك أي أسئلة، يمكنك الاتصال بي على [البريد الإلكتروني محمي]أوصي أيضًا بالكتاب الرائع Advanced Bash-Scripting Guide من تأليف Mendel Cooper، والذي ساعدني كثيرًا عندما كنت أتعرف على البرامج النصية للتو. برمجة سعيدة.

ملاحظة: شكرا جزيلا لمار على تعليقاتها ونصائحها.

الإنترنت الحديث لا يمكن تصوره بدون نصوص. تعلم الكتابة بلغة جافا سكريبت.

إذا كان الكتاب المقدس مكتوبًا للإنترنت، فسيبدأ على النحو التالي:

في البداية كان هناك بريد. ورأى المهندسون أن هذا كان جيدًا. وقاموا بإنشاء شبكة WWW باستخدام الارتباطات التشعبية. ورأى المهندسون أن هذا كان جيدًا أيضًا. ثم قاموا بإنشاء لغة JavaScript لإضفاء الحيوية على الصفحات.

وهذا ما حدث تقريبًا على أرض الواقع. جافا سكريبتاخترع من أجل "إحياء" HTML. البرامج النصية جافا سكريبتمكتوبة مباشرة في النص HTMLأو تخزينها في ملفات منفصلة، ​​مثل الأنماط CSS. ويتم تنفيذها فورًا بعد تحميل الصفحة في المتصفح.

حتى اللغة نفسها كانت تسمى في البداية لايف سكريبت. ثم تمت إعادة تسميته إلى جافا سكريبت، لأنهم خططوا لربطها بطريقة أو بأخرى بلغة جافا للأغراض العامة. لكن الآن ليس لديهم أي شيء مشترك تقريبًا، و جافا سكريبت- لغة برمجة مستقلة تمامًا بمواصفاتها الواضحة ECMAScript.

رسميًا، جافا سكريبت هي علامة تجارية لشركة أوراكل، وهذه اللغة هي “امتداد” لـ ECMAScript، إلى جانب JScript من مايكروسوفت وActionScript، ولكن هذا بالأحرى يهم أصحابها العلامات التجارية. الشيء الرئيسي هو أن ECMAScript المجاني لا ينتمي إلى أي شخص.

مع مرور الوقت، مجال النفوذ جافا سكريبتتوسعت بشكل ملحوظ. لقد بدأوا في استخدامه ليس فقط للنصوص البرمجية الموجودة على الصفحة HTML، ولكن أيضًا لتطبيقات الويب الكبيرة والخطيرة والبرامج الكاملة التي يتم تشغيلها في المتصفح. هناك أدوات "لحزم" هذه البرامج بطريقة خاصة وتشغيلها بشكل منفصل عن المتصفح. هؤلاء هم المترجمون والمترجمون الفوريون، الذين تمت مناقشتهم بمزيد من التفصيل في الدورات التدريبية "" و "".

تعمل تطبيقات JavaScript في أي بيئة تحتوي على مترجم مناسب.

في الوقت الحالي، نحن مهتمون فقط بالمتصفحات وصفحات HTML.

كيف نفعل جافا سكريبت؟ إن كتابة السيناريو الأساسي ليس أكثر صعوبة من كتابة السيناريو البسيط HTML- صفحة، لأن البرامج النصية جافا سكريبتمكتوبة بنص عادي، أي أنه يمكن إنشاؤها حرفيًا في نفس المفكرة، ثم حفظها في ملفات منفصلة أو لصقها في النص الأساسي HTML-وثيقة. أبسط الأشياء على جافا سكريبتمن السهل حقًا القيام بذلك.

كيفية كتابة جافا سكريبت

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

WScript. صدى(" مرحبًا سكيلبوكس!")

نكتب هذا النص في "المفكرة"، ثم احفظ الملف تحت الاسم Skillbox.jsوتشغيل في "المستكشف"ويندوز.

يمكن كتابة برنامج نصي مماثل مباشرة في رمز الصفحة HTMLبين العلامات و . هناك يمكنك بالفعل استخدام العادية طرق جافا سكريبت، وليس طريقة صدىكائن محدد WScript. دعونا نلقي نظرة على بعض الطرق القياسية لإدخال وإخراج البيانات في المتصفح.

يُحذًِر()

طريقة يُحذًِر()يعرض نافذة بها زر "موافق". تعرض النافذة الرسالة المشار إليها بين قوسين. على سبيل المثال، "مرحبا، سكيلبوكس!". أي أنه في هذه الحالة، يقوم المتصفح بالضبط بنفس الشيء الذي فعله خادم البرنامج النصي من قبل ويندوز.

يمكن أيضًا كتابة هذه الأمثلة في برنامج "المفكرة"، وحفظها فقط في الملفات ذات الامتداد HTML. على سبيل المثال، Skillbox.htm.



يُحذًِر(" مرحبًا سكيلبوكس")

نتيجة:

كحجة يُحذًِر()لا يمكنك تحديد نص محدد فحسب، بل يمكنك أيضًا تحديد نتيجة أي حسابات أو معالجة بيانات أخرى. على سبيل المثال، تنبيه (خ)حيث يتم حساب x بشكل منفصل.

يتأكد()

طريقة يتأكد()يعرض نفس النافذة مع رسالة، ولكن مع زرين - "موافق" و "إلغاء". اعتمادا على الزر الذي ينقر عليه المستخدم، تقوم الطريقة بإرجاع أي منهما حقيقي، أو خطأ شنيع. يتلقى الخادم قيمة الإرجاع هذه من المستخدم ويقوم ببعض الإجراءات بناءً على الاستجابة.

بناء الجملة هو نفسه، هنا فقط يُفترض الاختيار منطقيًا، لذلك يتم طرح سؤال على المستخدم.



يتأكد(" مرحبًا سكيلبوكس")

نتيجة:

اِسْتَدْعَى()

طريقة اِسْتَدْعَى()يعرض مربع حوار يحتوي على رسالة وحقل نصي حيث يقوم المستخدم بإدخال البيانات. يوجد أيضًا زران "موافق" و"إلغاء". عند الضغط على الزر الأول، تقوم الطريقة بإرجاع النص المدخل إلى الخادم، وعند الضغط على الزر الثاني، تقوم بإرجاع قيمة منطقية خطأ شنيع.

بناء الجملة هنا هو:

اِسْتَدْعَى( الرسالة، data_input_field_value)

قيمة حقل الإدخال اختيارية. هناك يمكنك إدخال النص الذي تم إدخاله في الأصل في الحقل لراحة المستخدم.



اِسْتَدْعَى(" قل مرحبًا لـ Skillbox", "مرحبًا")

نتيجة:

إمكانيات حديثة جافا سكريبتتذهب إلى ما هو أبعد من إدخال البيانات وإخراجها من خلال النماذج البدائية. لقد قدمنا ​​هذه الأساليب فقط باعتبارها الأكثر أمثلة بسيطة. إلى جانب هذا، جافا سكريبتيسمح لك بالرد على إجراءات المستخدم. على سبيل المثال، عند حركات الماوس أو الضغط على مفاتيح معينة. جافا سكريبتغالبا ما تستخدم لتوفير عملية غير متزامنة ( تكنولوجيا اياكس) عندما يتم تحديث المعلومات الموجودة على الصفحة دون إعادة تحميلها. في هذا الوضع، يتم إرسال البيانات إلى الخادم وتنزيلها من هناك بشكل تفاعلي. بجانب، جافا سكريبتقادرة على التلاعب HTML- العناصر الموجودة على الصفحة (إنشاء العلامات وإخفائها، وما إلى ذلك) والقيام بأكثر من ذلك بكثير.

أدوات مفيدة لوحدة تحكم المطور

تحتوي جميع المتصفحات الشائعة على وحدة تحكم مطور خاصة. يعرض رمز البرنامج النصي على الصفحة ويعرض أيضًا رمزًا آخر معلومات مفيدة. في كروم، فايرفوكسو أي.يتم فتح وحدة تحكم المطور عند النقر عليها مفتاح الاختصار F12، ف سفاري - Ctrl+Shift+Iأو السيطرة + البديل + C.في لقطة الشاشة، يتم عرض البرامج النصية في أعلى اليمين، إلى جانب العناصر الأخرى لصفحة الويب.

وحدة تحكم مطوري Chrome.

محرري الكود

في المستقبل، من أجل برمجة مريحة، ستحتاج إلى تثبيت محرر التعليمات البرمجية أو IDE (بيئة التطوير المتكاملة)،بيئة التطوير المتكاملة. بيئة تطوير متكاملةهو محرر ذو وظائف متقدمة ومتكاملة مع وظائف أخرى أدوات مفيدة، يدعم الاتصال وحدات إضافيةوهكذا.

تعليمات

اعتمادًا على مكان تنفيذ البرنامج النصي، يتم تقسيم البرامج النصية إلى "العميل" و"الخادم". عند الانتقال إلى عنوان ما على الشبكة، نرسل عنوان URL الخاص بالصفحة محل الاهتمام إلى الخادم، ويقوم بتشغيل البرنامج النصي الموجود على العنوان المحدد. يقوم البرنامج النصي، الذي يقوم بالإجراءات المبرمجة فيه على الخادم، بتجميع الصفحة من الكتل الضرورية وإرسالها إلى المتصفح. هذا هو البرنامج النصي للخادم. بعد استلام الصفحة، يقوم المتصفح الموجود لدينا بعرضها لنا، وإذا كان رمز الصفحة المستلم يحتوي على نوع من البرنامج النصي، فهذا يعني أنه يقوم بالفعل بتنفيذ هذا البرنامج النصي. هذا هو البرنامج النصي للعميل.
لكي يتمكن الخادم أو المتصفح من قراءة البرنامج النصي وفهمه وتنفيذه، يجب تجميعه وكتابته وفقًا للقواعد المعروفة لديهما. تسمى هذه المجموعات من القواعد لغات البرمجة النصية. تتم كتابة معظم البرامج النصية للخادم في الوقت الحاضر لغة PHP، ومعظم العملاء قيد التشغيل جافا سكريبت. لكتابة برنامج نصي يكفي أن يكون لديك منتظم محرر النصوص- دفتر. ولكن بالنسبة للبرمجة المستمرة للنصوص البرمجية، لا يمكنك الاستغناء عن محرر متخصص. مثل هذا المحرر يأخذ على عاتقه حصة الأسدالعمل الروتيني لكتابة النصوص، مما يترك للمبرمج المزيد من الوقت للإبداع.
لنكتب نصًا بسيطًا بلغة PHP من جانب الخادم. يجب أن يخبر السطر الأول المؤدي أن البرنامج النصي يبدأ من هذه النقطة. في PHP، تبدو علامة الفتح هذه كما يلي: بين هاتين العلامتين توجد تعليمات اللغة. على سبيل المثال، قم بطباعة النقش الذي تركه O. Bender على صخور القوقاز مثل هذا: صدى ("كان كيسيا وأوسيا هنا")؛ والتعليمة لإظهار الوقت الحالي بتنسيق الساعة: الدقيقة مكتوبة على النحو التالي: تاريخ الصدى ("H:i"); أكمل سيبدو البرنامج النصي PHP المكون من هذه العوامل كما يلي: بعد تنفيذ هذا البرنامج النصي بواسطة برنامج منفذ الخادم (مترجم اللغة)، ستبدو الصفحة كما يلي:

وسيبدو نفس البرنامج النصي في JavaScript للعميل كما يلي: var now = new date();
document.write("في");
document.write(now.getHours() + ): "+ now.getMinutes());
document.write ("كان Kisya و Osya هنا!")؛ هنا يأمر السطر var now = new date() منفذ البرنامج النصي بإنشاء كائن افتراضي جديد يسمى "now"، والذي يمثل التاريخ والوقت الحاليين. document.write() هو أمر لكتابة ما هو محدد بين قوسين على الصفحة، ويرشد الأمرين now.getHours() وnow.getMinutes() إلى استرداد الساعة والدقيقة الحاليتين من كائن "الآن".
لمزيد من الوضوح، كل ما تبقى هو دمج هذين النصين في ملف واحد، وحفظه على الخادم وكتابة عنوان URL فيه شريط العناوين browser. نتيجة لذلك، سنرى أسطرًا متطابقة، تم تنفيذ أحدهما وفقًا للبرنامج النصي الخاص بنا على الخادم (بواسطة مترجم PHP)، والآخر على جهاز الكمبيوتر الخاص بنا (بواسطة مترجم JavaScript).

أصبح العديد من مبرمجي الويب المبتدئين على دراية باللغة من خلال الكتب. لا شك أن الكتاب مهم وضروري للغاية، لكنه يقدم أمثلة (للمبتدئين) غير صحيحة بطبيعتها من وجهة نظر استقرار النص وقابليته للنقل. نعني بالاستقرار إمكانية حدوث أخطاء من أنواع مختلفة، وقابلية النقل - نفس الشيء، ولكن عند نقل البرنامج النصي من جهاز محلي في المنزل إلى خادم موفر الاستضافة.

أود أدناه أن أوضح على الفور لمطوري الويب المبتدئين كيفية تعلم كتابة البرامج النصية على الفور، حتى لا يواجهوا مشكلات غير ضرورية لاحقًا ولا "يلتقطوا" الأخطاء التي تظهر من العدم.

سأقول على الفور أنني واجهت هذا بنفسي، فكل هذا مر بعذابي….

سأفكر في النقاط التالية:


2. أين تم دفن "@"؟
3. Register_globals = معطل ولا شيء غير ذلك.
4. الجوانب الأساسية لبناء الجملة. حرفياً أو غير حرفي..

1. إعداد PHP للجهاز المحلي وعلى الخادم.

لماذا أبدأ بهذا الفصل؟ الحقيقة هي أن العديد من الأشخاص يقومون على الفور بتعطيل عرض جميع الأخطاء على الجهاز المحلي. هذا ليس صحيحا. بدلاً من التحديق في الشاشة بشكل فارغ والبحث عن المكان الذي تبدو فيه الفاصلة المنقوطة مفقودة، يمكنك فهم ما يحدث على الفور بناءً على الخطأ الناتج عن PHP.

لكن أولاً أريد أن أقوم باستطراد صغير حول كيفية تكوين PHP، مثل Apache modul أو fast-CGI.
معظم الخيار الأفضل- تكوين كوحدة خادم الويب. للقيام بذلك، اكتب الأسطر التالية في ملف التكوين httpd.conf الخاص بخادم الويب Apache:

LoadModule php4_module D:/bin/php/sapi/php4apache2.dll AddType application/x-httpd-php .php .phtml .php4 .php

الاختلافات عن FastCGI هي التالية. أولاً. باستخدام FastCGI، سيتم تحميل php.ini في ذاكرة خادم الويب كل مرة تقريبًا عند تشغيل البرنامج النصي؛ عند تثبيته كوحدة Apache، سيتم تحميل تكوين PHP فقط عند تحميل خادم الويب أو إعادة تشغيله بالطبع؛ سيكون الأداء والتحميل على الخادم أقل. بالإضافة إلى ذلك، لا تتوفر بعض الميزات عند تثبيتها كـ fastCGI. لن يحتاجها المبرمج المبتدئ، ولكن عند تطوير تطبيق إنترنت كبير قد تواجه مشكلات. من الأفضل منع المشاكل.

الآن دعنا ننتقل إلى تكوين PHP نفسه. في ملف التكوين php.ini، يجب علينا تعيين التوجيهات التالية مع القيم المكتوبة أدناه:

error_reporting = E_ALLdisplay_errors = قيد العرض_startup_errors = قيد التشغيل

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

short_open_tag = إيقاف لمنع الاستخدام