start - كيف يتم تفعيل علامات PHP القصيرة؟




semicolon in php (12)

إذا قمت بتحرير ملف php.ini ، فتذكر إعادة تشغيل الخدمة (apache2 ، الخ) حتى تصبح التعديلات التي يتم إدخالها على php.ini

لدي تطبيق ويب على خادم Linux يبدأ بـ <?

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

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

شكر


إذا كنت تستخدم Ubuntu مع Apache+php5 ، فحينئذٍ في الإصدارات الحالية يوجد مكانان تحتاجان إلى short_open_tag = On إلى short_open_tag = On

  1. /etc/php5/apache2/php.ini - هذا مخصص للصفحات المحملة عبر خادم الويب (Apache)
  2. /etc/php5/cli/php.ini - يتم استخدام هذه التهيئة عند تشغيل ملفات php من سطر الأوامر ، مثل: php yourscript.php - الذي يتم استخدامه لملفات php يدويًا أو cronjob مباشرةً على الخادم.

اضبط asp_tags = On و short_open_tag = On في كلا files \apache\Apache2.2.21\bin\php.ini و \bin\php\php5.3.8\php.ini ثم \bin\php\php5.3.8\php.ini تشغيل خادم Apache.


بهذه البساطة ، اتبع الخطوات التالية:

  1. اذهب إلى ملف php.ini
  2. ابحث عن "short_open_tag" واضبطه على ،
  3. إعادة تشغيل الخادم

لذا ، short_open_tag = على


جلس

short_open_tag=On

في php.ini

وأعد تشغيل خادم Apache الخاص بك.


في CentOS 6 (تم اختباره على Centos 7 أيضًا) ، لا يمكنك تعيين short_open_tag في /etc/php.ini لـ php-fpm. سيكون لديك خطأ:

ERROR: [/etc/php.ini:159] unknown entry 'short_open_tag'
ERROR: Unable to include /etc/php.ini from /etc/php-fpm.conf at line 159
ERROR: failed to load configuration file '/etc/php-fpm.conf'
ERROR: FPM initialization failed

يجب عليك تحرير التهيئة لموقعك ، والتي يمكن العثور عليها في /etc/php-fpm.d/www.conf والكتابة في نهاية الملف:

php_value[short_open_tag] =  On

لتعيين علامات قصيرة ليتم فتحها من برنامج تثبيت Vagrant على Ubuntu:

sed -i "s/short_open_tag = .*/short_open_tag = On/" /etc/php5/apache2/php.ini

لتمكين short_open_tag لنطاق معين باستخدام php-fpm ، يجب عليك تعديل:

/etc/php5/fpm/pool.d/xxxxxxxxxx.conf

حيث xxxxx هو رقم مأخذ المجال.

وأضف: php_value [short_open_tag] = تشغيل


يمكن القيام بذلك عن طريق تمكين short_open_tag في php.ini :

short_open_tag = on

إذا لم يكن بإمكانك الوصول إلى php.ini يمكنك محاولة تمكينها من خلال ملف .htaccess ولكن من الممكن أن تقوم شركة الاستضافة بتعطيل هذا إذا كنت تعمل على استضافة مشتركة:

php_value short_open_tag 1

بالنسبة إلى الأشخاص الذين يفكرون في أن short_open_tags هي ممارسة سيئة مثل php 5.4 ، فإن الاختصار <?= ... ?> سيعتمد في كل مكان ، بغض النظر عن الإعدادات بحيث لا يوجد سبب لعدم استخدامها إذا كان بإمكانك التحكم في الإعدادات على الخادم. وقال أيضا في هذا الرابط: short_open_tag


يمكن القيام بذلك عن طريق تمكين short_open_tag في php.ini:

1. لتحديد ملف php.ini ، على خط التعليق تنفيذ

 php --ini

ستحصل على شيء مثل هذا ،

Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed:      /etc/php.d/curl.ini,
/etc/php.d/fileinfo.ini,
/etc/php.d/gd.ini,
/etc/php.d/json.ini,
/etc/php.d/mcrypt.ini,
/etc/php.d/mysql.ini,
/etc/php.d/mysqli.ini,
/etc/php.d/pdo.ini,
/etc/php.d/pdo_mysql.ini,
/etc/php.d/pdo_sqlite.ini,
/etc/php.d/phar.ini,
/etc/php.d/sqlite3.ini,
/etc/php.d/zip.ini

انظر السطر الثاني من ناتج التعليق. سيكون الملف في المسار المذكور.

2. افتح ملف php.ini وابحث عن short_open_tag . افتراضيا هو في off إلى on .

3. إعادة تشغيل الخادم ، تنفيذ هذا التعليق

service httpd restart

شكر


 short_open_tag = On

في php.ini وأعد تشغيل خادم Apache الخاص بك.


; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
;short_open_tag=Off   <--Comment this out
; XAMPP for Linux is currently old fashioned
short_open_tag = On   <--Uncomment this




php-shorttags