PHP가 Ubuntu 13.10에서 제대로 작동하지 않고 phpmyadmin에서 mcrypt가 누락되었습니다


15

UBUNTU 13.04에서 13.10으로 업그레이드했지만 PHP 페이지 또는 phpmyadmin으로 작업 할 수 없습니다. 우분투에 램프를 설치하기 위해이 방법을 시도했으며 설치 sudo apt-get install lamp-server^ phpmyadmin 후 모든 구성을 올바르게 수행했습니다.이 줄 Include /etc/phpmyadmin/apache.conf을 추가 /etc/apache2/apache2.conf한 다음 apache2를 다시 시작했습니다.

이제 두 가지 문제가 있습니다.

  1. 페이지 하단의 phpmyadmin 에서이 오류는 다음 The mcrypt extension is missing. Please check your PHP configuration 과 같습니다. 확인하고 mcrypt그 안에 있지만 phpmyadmin에서는 누락 오류가 발생합니다.

  2. 다른 문제는 PHP 페이지에서 PHP가없는 것처럼 보이고 많은 PHP 행이 텍스트 상자에 다음과 같이 인쇄되어 있기 때문에 모든 HTML입니다 <? echo $row['details']; ?> .

답변:


48

당신의 mcrypt 문제를 위해 이것을 시도하십시오 :

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

mcrypt.ini 파일의 위치에 버그가 있습니다 . 여기 에서 정보를 얻었습니다 .

나는 똑같은 버그를 가지고 있었고, cp대신에 대신에 mv문제를 해결했다.

PHP가 작동하지 않는 경우 phpmyadmin이 작동하면 (mcrypt 오류가 있더라도) PHP가 작동하고 있음을 의미합니다 (phpmyadmin이 PHP를 사용하기 때문에). 하지만 당신의 예제에 <? echo $row['details']; ?>변화 <?<?php다시 시도?


1
감사합니다. 귀하의 답변으로 모든 문제가 해결되었습니다. <? ?>는 더 이상 작동하지 않습니까? 최신 버전의 PHP에서? 작동하려면 <? php?>이어야합니까?
Mohammad_Hosseini

방금 Google에서 검색했으며 짧은 태그가 더 이상 기본적으로 활성화되지 않은 것 같습니다. 다시 켤 수 있지만 항상 <? php
Whatts

사전에 감사하지만 여전히 약간의 문제가 있습니다. 내 PHP 페이지 중 일부에서 문제가 무엇인지 모르겠습니다.이 페이지를로드하려고하면 흰 담요 페이지 만 표시됩니다. 활성화하려고했습니다. 페이지 상단에 PHP에 대한 오류보고하지만 여전히 페이지에 아무것도 표시되지 않습니다. 이 질문을하기에 좋은 장소는 아니지만이 문제를 가져온 이후 다시 요청했습니다. 여기에 코드 중 일부를 넣어야한다면 고맙습니다.
Mohammad_Hosseini

완전히 흰색 페이지는 일반적으로 괄호 또는 세미콜론이 없음을 의미합니다. 또는 존재하지 않는 함수를 호출합니다. 소프트웨어 개발 환경이없는 경우 한 번에 한 블록 씩 코드의 일부를 주석 처리해보십시오 (/ *로 주석을 시작하고 * /로 마무리하면 그 사이에있는 모든 것이 주석 처리됩니다). 나는 일반적으로 주석 처리 된 코드의 약 절반으로 시작한 다음 표시하려고 시도하고 항상 오류가있는 곳으로 좁 힙니다.
Whatts

3

두 번째 문제에 대해서는 많은 PHP 행이 텍스트 상자에 다음과 같이 인쇄됩니다. echo $row['details'];

php.ini 설정 파일을 수정하십시오 (아파치) :

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

변경 :

short_open_tag = Off

에:

short_open_tag = On

멋진 가이드, 덕분에 너무 흰색 페이지의 문제를 해결
Mohammad_Hosseini

1

/etc/php5/conf.d/ 아래의 모든 스크립트가 작동을 멈출 것이므로 확인하십시오. 제 경우에는 imap도 작동을 멈췄습니다.

심볼릭 링크 트릭 문제를 루트로 해결했습니다.

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

당신의 방법은 작동하지 않습니다 그것은 imap 또는 mcrypt 존재가 없다는 오류를 제공하지만 @whatts가 저에게 효과적이라고 말한 것입니다.
Mohammad_Hosseini

1

(위에 의견으로 게시했지만 권한이 없습니다.)

cp대신에 Whatts의 직감 mv이 좋은 것이었다. 당신이 Laravel 4 프레임 워크를 사용하는 경우 예를 들어, 장인 CLI는 감지 mcrypt.ini/etc/php5/mods-available/있지만, 프레임 워크 자체에서 찾는 것 같다 /etc/php5/conf.d/. 모든 것이 작동하려면 두 위치 모두에 사본이 필요합니다.

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

0

터미널에서 ( Ctrl+ Alt+ T)

1. php.ini 파일 열기 :

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

2. Off에서 On으로 교체 :

short_open_tag = On

3. 아파치를 다시 시작하십시오 :

sudo service apache2 restart

0

실제로 mcrypt.ini 파일 의 올바른 위치 는에 mods-available없는 디렉토리에 conf.d있습니다. 따라서 mcrypt 구성 파일을 바꾸고 활성화 하면이 문제가 해결됩니다.


-1

또한 mcryptUbuntu 14.04를 설치 한 후 문제가 발생했습니다 . 이 링크를 따라 가면 도움이 될 것입니다. www.php.net

  1. php.ini 파일을여십시오 sudo gedit /etc/php5/apache2/php.ini
  2. 아파치를 다시 시작하십시오 2 sudo service apache2 restart

도움이 되었기를 바랍니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.