PHP tidak berfungsi dengan baik di Ubuntu 13.10 dan mcrypt tidak ada di phpmyadmin

15

Saya telah meningkatkan dari UBUNTU 13.04 menjadi 13.10 tetapi saya tidak dapat bekerja dengan halaman PHP atau phpmyadmin. Saya sudah mencoba cara ini untuk menginstal lampu di Ubuntu sudo apt-get install lamp-server^ phpmyadmin dan saya sudah melakukan semua konfigurasi dengan benar setelah instalasi saya telah menambahkan baris ini Include /etc/phpmyadmin/apache.confuntuk /etc/apache2/apache2.confkemudian saya restart apache2

Sekarang saya punya dua masalah:

  1. Dalam phpmyadmin di bagian bawah halaman adalah kesalahan ini: The mcrypt extension is missing. Please check your PHP configuration Saya sudah memeriksa dan mcryptada di dalamnya, tetapi di phpmyadmin itu memberi saya kesalahan hilang.

  2. Masalah lainnya adalah pada halaman PHP sepertinya tidak ada PHP dan itu semua html karena banyak baris PHP dicetak dalam kotak teks seperti: <? echo $row['details']; ?> Adakah yang bisa memberi tahu saya apa yang harus saya lakukan?

Mohammad_Hosseini
sumber

Jawaban:

48

Coba ini untuk masalah mcrypt Anda:

mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
sudo php5enmod mcrypt
sudo service apache2 restart

Ini adalah bug dengan lokasi file mcrypt.ini, saya mendapat info dari sini .

Saya memiliki bug yang sama, saya melakukan cpbukan mvuntuk memastikan tetapi itu memecahkan masalah.

Untuk PHP tidak berfungsi, jika Anda membuat phpmyadmin berfungsi (bahkan dengan kesalahan mcrypt), itu berarti PHP berfungsi (karena phpmyadmin menggunakan PHP). Tetapi dalam contoh Anda <? echo $row['details']; ?>ubah <?menjadi <?phpdan coba lagi?

Whatts
sumber
1
terima kasih, jawaban Anda memperbaiki semua masalah saya. <? ?> tidak berfungsi lagi? di versi php yang lebih baru? itu harus <? php?> untuk bekerja?
Mohammad_Hosseini
Saya baru saja mencarinya di Google dan tampaknya tag pendek tidak aktif secara default lagi. Anda dapat mengaktifkannya kembali, tetapi praktik terbaik untuk selalu menggunakan <? Php
Whatts
terima kasih sebelumnya, tapi masih ada sedikit masalah, di beberapa halaman php saya, saya tidak tahu apa masalahnya, ketika saya mencoba memuat halaman ini hanya halaman selimut putih yang ditampilkan, saya sudah mencoba mengaktifkan pelaporan kesalahan untuk php di bagian atas halaman tetapi masih tidak ada yang muncul di halaman. ini mungkin bukan tempat yang baik untuk mengajukan pertanyaan ini, tetapi karena saya telah membawa masalah ini saya bertanya lagi. jika Anda membutuhkan saya untuk meletakkan beberapa kode di sini katakan padaku, terima kasih.
Mohammad_Hosseini
Halaman yang sepenuhnya putih biasanya berarti tanda kurung atau titik koma yang hilang. Atau memanggil fungsi yang tidak ada. Jika Anda tidak memiliki lingkungan pengembangan perangkat lunak yang dapat membantu Anda, cobalah mengomentari bagian dari kode Anda satu blok pada satu waktu (mulai komentar dengan / * dan selesai dengan * /, semuanya di antaranya dikomentari). Saya biasanya mulai dengan sekitar setengah kode yang dikomentari dan kemudian mencoba untuk menampilkan, kemudian selalu mempersempit ke tempat kesalahannya).
Whatts
3

Untuk masalah kedua, banyak baris PHP dicetak dalam kotak teks seperti: echo $row['details'];

Edit file konfigurasi php.ini Anda (untuk apache):

sudo nano -w /etc/php5/apache2/php.ini

dan ubah:

short_open_tag = Off

untuk:

short_open_tag = On
moz667
sumber
panduan luar biasa, terima kasih juga telah menyelesaikan masalah halaman putih
Mohammad_Hosseini
1

Periksa semua skrip Anda di bawah /etc/php5/conf.d/ karena mereka akan berhenti bekerja. Dalam kasus saya, imap juga berhenti bekerja.

Memecahkan masalah dengan trik tautan simbolik (sebagai root):

ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
php5enmod mcrypt
ln -s /etc/php5/conf.d/imap.ini /etc/php5/mods-available/imap.ini
php5enmod imap
service apache2 restart
infernet
sumber
cara Anda tidak bekerja itu memberi saya kesalahan tidak ada baik imap atau mcrypt tapi apa yang dikatakan @whatts bekerja untuk saya.
Mohammad_Hosseini
1

(Saya akan memposting ini sebagai komentar di atas tetapi tidak memiliki hak istimewa.)

Intuisi Whatts untuk digunakan cpalih-alih mvitu bagus. Misalnya, jika Anda menggunakan LARAVEL 4 kerangka, tukang CLI akan mendeteksi mcrypt.inidi /etc/php5/mods-available/, tapi kerangka itu sendiri tampaknya mencarinya di /etc/php5/conf.d/. Anda memerlukan salinannya di kedua lokasi agar semuanya berfungsi:

cp -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
sudo php5enmod mcrypt
sudo service apache2 restart
Hugh Grigg 葛 修 远
sumber
0

Di terminal ( Ctrl+ Alt+T )

1. buka file php.ini:

/etc/php5/apache2$sudo nano php.ini

2. ganti off ke On:

short_open_tag = On

3. mulai apache:

sudo service apache2 restart
Keriuhan
sumber
0

Sebenarnya tempat yang tepat untuk file mcrypt.ini adalah dalam mods-availabledirektori tidak conf.d. Jadi, mengganti dan mengaktifkan file konfigurasi mcrypt , menyelesaikan masalah ini.

Navid
sumber
-1

Saya juga punya masalah dengan mcryptsetelah menginstal Ubuntu 14.04. Mengikuti tautan ini akan membantu. www.php.net

  1. Buka file php.ini Anda sudo gedit /etc/php5/apache2/php.ini
  2. Mulai ulang apache Anda2 sudo service apache2 restart

Semoga ini membantu.

Daroath
sumber