Pertanyaan Bagaimana cara mengaktifkan tag pendek PHP?


Saya memiliki aplikasi web di server Linux yang dimulai dengan <?

Saya perlu menyalin aplikasi ini ke lingkungan windows dan semuanya bekerja dengan baik kecuali bahwa pernyataan SQL sedang dibuat berbeda. Saya tidak tahu apakah ini ada hubungannya dengan script yang dimulai <?php dari pada <? karena saya tidak tahu dari mana untuk mengaktifkan <? dari PHP.ini jadi saya mengubahnya menjadi <?php

Saya tahu bahwa 2 pernyataan ini seharusnya berarti sama tetapi saya perlu mengujinya <? untuk memastikan bahwa aplikasi itu persis sama. Dengan cara ini saya bisa menghilangkan kemungkinan lain.

Terima kasih


273
2018-02-02 15:44


asal


Jawaban:


Set

short_open_tag=On

di php.ini

Dan restart server Apache Anda.


486
2018-02-02 15:45



Ini bisa dilakukan dengan mengaktifkan short_open_tag di php.ini:

short_open_tag = on

Jika Anda tidak memiliki akses ke php.ini Anda dapat mencoba untuk mengaktifkannya melalui .htaccess file tetapi mungkin perusahaan hosting menonaktifkan ini jika Anda menggunakan hosting bersama:

php_value short_open_tag 1

Bagi orang-orang yang berpikir bahwa short_open_tags adalah praktik yang buruk mulai dari php 5.4 yang <?= ... ?> shorttag akan didukung di mana-mana, terlepas dari pengaturan sehingga tidak ada alasan untuk tidak menggunakannya jika Anda dapat mengontrol pengaturan pada server. Juga dikatakan di tautan ini: short_open_tag


68
2018-02-02 15:46



Ini dapat dilakukan dengan mengaktifkan short_open_tag di php.ini:

1.Untuk mencari file php.ini, pada baris komentar dieksekusi

 php --ini

kamu akan mendapatkan sesuatu seperti 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

Lihat baris ke-2 dari output komentar. File akan berada di jalur yang disebutkan.

2. Buka file php.ini dan temukan short_open_tag. Secara default sudah masuk off ubah menjadi on.

3.Restart server, jalankan komentar ini

service httpd restart

Terima kasih


18
2017-08-26 12:08



Untuk mengatur tag pendek untuk membuka dari skrip install Vagrant di Ubuntu:

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

18
2018-01-16 02:18



Saya dapat melihat semua jawaban di atas hanya sebagian yang benar. Pada kenyataannya semua aplikasi PHP abad 21 akan memiliki FastCGI Process Manager (php-fpm) sehingga setelah Anda menambahkan php-info () ke dalam script test.php Anda dan memeriksa jalur yang benar untuk php.ini

Go to php.ini and set short_open_tag = On

PENTING: maka Anda harus memulai kembali proses php-fpm Anda sehingga ini bisa berfungsi!

sudo service php-fpm restart

dan akhirnya restart server nginx / http Anda

sudo service nginx restart

11
2017-07-03 11:00



Anda perlu mengaktifkan short_open_tags.

short_open_tag = On

9
2018-02-02 15:46



Sesederhana itu, ikuti langkah-langkah berikut:

  1. buka file php.ini
  2. temukan, 'short_open_tag' dan atur ke aktif,
  3. restart server

begitu, short_open_tag = Aktif


9
2018-02-10 11:11