PHP không hoạt động tốt trên Ubuntu 13.10 và mcrypt bị thiếu trong phpmyadmin


15

Tôi đã nâng cấp từ UBUNTU 13.04 lên 13.10 nhưng tôi không thể làm việc với các trang PHP hoặc phpmyadmin. Tôi đã thử cách này để cài đặt đèn trên Ubuntu sudo apt-get install lamp-server^ phpmyadmin và tôi đã thực hiện đúng tất cả các cấu hình sau khi cài đặt Tôi đã thêm dòng này Include /etc/phpmyadmin/apache.confvào /etc/apache2/apache2.confrồi tôi khởi động lại apache2

Bây giờ tôi có hai vấn đề:

  1. Trong phpmyadmin ở cuối trang là lỗi này: The mcrypt extension is missing. Please check your PHP configuration Tôi đã kiểm tra và mcryptđã ở trong đó, nhưng trong phpmyadmin, nó cho tôi lỗi thiếu.

  2. Vấn đề khác là trên các trang PHP có vẻ như không có PHP và tất cả đều là html vì rất nhiều dòng PHP được in trong hộp văn bản như: <? echo $row['details']; ?> Ai có thể cho tôi biết tôi nên làm gì không?

Câu trả lời:


48

Hãy thử điều này cho vấn đề mcrypt của bạn:

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

Đó là một lỗi với vị trí của tệp mcrypt.ini, tôi đã nhận được thông tin từ đây .

Tôi đã có một lỗi tương tự, tôi đã làm một cpthay vì mvđể chắc chắn nhưng nó đã giải quyết vấn đề.

Đối với PHP không hoạt động, nếu bạn làm cho phpmyadmin hoạt động (ngay cả với lỗi mcrypt), điều đó có nghĩa là PHP đang hoạt động (vì phpmyadmin sử dụng PHP). Nhưng trong ví dụ của bạn <? echo $row['details']; ?>thay đổi <?để <?phprồi thử lại?


1
cảm ơn bạn, câu trả lời của bạn đã khắc phục tất cả các vấn đề của tôi. <? ?> không còn hoạt động nữa? trong phiên bản mới hơn của php? nó phải là <? php?> để hoạt động?
Mohammad_Hosseini

Tôi vừa googled nó và có vẻ như các thẻ ngắn không hoạt động theo mặc định nữa. Bạn có thể bật lại, nhưng cách tốt nhất là luôn sử dụng <? Php
Whatts 20/10/13

cảm ơn trước, nhưng vẫn còn một chút vấn đề, trong một số trang php của tôi tôi không biết vấn đề là gì, khi tôi thử tải trang này chỉ là một trang chăn trắng đang hiển thị, tôi đã thử bật báo cáo lỗi cho php trên đầu trang nhưng vẫn không có gì hiển thị trên trang. đây có thể không phải là một nơi tốt để đặt câu hỏi này nhưng vì tôi đã đưa ra vấn đề này nên tôi đã hỏi lại. nếu bạn cần tôi đặt một số mã ở đây cho tôi biết, cảm ơn.
Mohammad_Hosseini

Một trang hoàn toàn trắng thường có nghĩa là một dấu ngoặc hoặc dấu chấm phẩy bị thiếu. Hoặc gọi một chức năng không tồn tại. Nếu bạn không có môi trường phát triển phần mềm có thể giúp bạn, hãy thử nhận xét từng phần của mã của bạn một khối (bắt đầu nhận xét bằng / * và kết thúc bằng * /, mọi thứ ở giữa được nhận xét). Tôi thường bắt đầu với khoảng một nửa mã nhận xét và sau đó cố gắng hiển thị, sau đó luôn thu hẹp đến nơi xảy ra lỗi).
Whatts

3

Đối với vấn đề thứ hai về, rất nhiều dòng PHP được in trong hộp văn bản như: echo $row['details'];

Chỉnh sửa tệp cấu hình php.ini của bạn (đối với apache):

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

và thay đổi:

short_open_tag = Off

đến:

short_open_tag = On

hướng dẫn tuyệt vời, cảm ơn cũng đã giải quyết vấn đề trang trắng
Mohammad_Hosseini

1

Kiểm tra tất cả các tập lệnh của bạn trong /etc/php5/conf.d/ vì chúng sẽ ngừng hoạt động. Trong trường hợp của tôi, imap cũng ngừng hoạt động.

Đã giải quyết vấn đề với thủ thuật liên kết tượng trưng (với quyền 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

cách của bạn không hoạt động, nó mang lại cho tôi lỗi không tồn tại hoặc imap hoặc mcrypt nhưng những gì @whatts nói đã làm việc cho tôi.
Mohammad_Hosseini

1

(Tôi đã đăng bài này như một bình luận ở trên nhưng không có đặc quyền.)

Trực giác sử dụng cpthay vì mvlà một thứ tốt. Ví dụ, nếu bạn đang sử dụng khuôn khổ Laravel 4, CLI nghệ nhân sẽ phát hiện mcrypt.initrong /etc/php5/mods-available/, nhưng khuôn khổ bản thân dường như tìm kiếm nó trong /etc/php5/conf.d/. Bạn cần một bản sao của nó ở cả hai vị trí để mọi thứ hoạt động:

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

0

Trong thiết bị đầu cuối ( Ctrl+ Alt+ T)

1.open tập tin php.ini:

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

2. thay thế để bật:

short_open_tag = On

3. apartart apache:

sudo service apache2 restart

0

Trên thực tế, vị trí thích hợp cho tệp mcrypt.ini nằm trong mods-availablethư mục không có trong conf.d. Vì vậy, thay thế và kích hoạt tập tin cấu hình mcrypt , giải quyết vấn đề này.


-1

Tôi cũng gặp vấn đề với mcryptsau khi cài đặt Ubuntu 14.04. Theo liên kết này sẽ giúp. www.php.net

  1. Mở tệp php.ini của bạn sudo gedit /etc/php5/apache2/php.ini
  2. Khởi động lại apache2 của bạn sudo service apache2 restart

Hi vọng điêu nay co ich.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.