[php] PHP Strict Standards 에러 출력문제

Program/오래된 PHP 게시판


이 글은 웹개발자가 꿈인 평범한 아이의 IT이야기 블로그 데벨 님의 포스팅을 스크랩한글입니다.


데벨님의 블로그 (http://blog.idev.kr/) 포스팅 주소 (http://blog.idev.kr/6)


우분투 12.10에 apache2 와 php5을 설치해서 사용하던도중 XE 를 한번 설치해볼까해서 FTP에다가 올리고 접속을해보았다..

Strict Standards: Declaration of Mail::addAttachment() should be compatible with PHPMailer::AddAttachment($path, $name = '', $encoding = 'base64', $type = 'applicatio...') in/home/idev/xe_www/classes/mail/Mail.class.php on line 17

Strict Standards: Non-static method Context::getInstance() should not be called statically in /home/idev/xe_www/index.php on line 48


위와 비슷한 오류가 엄청 많이 출력되었다.

아무리 구글링해봐도 나오지않아서.. 포스팅을 해본다.

위 에러같은경우는 PHP 5.4.x 에서 출력되는 현상인것같다.

PHP 5.4.x 에서 PHP5.3으로 다운로그레이드를 시도해보았다.


먼저 기존의 PHP를 삭제시킨다.

apt-get purge php5

삭제가 완료되면,

aptitude install libxml2-dev libcurl3-dev libjpeg62-dev libpng12-dev libfreetype6-dev

위같이 이상한것(?)들을 깔아준다. 

(사실 구글링한 정보와 제 경험과 지인의 도움을 종합한 것이 이 포스팅이기때문에..)

그후 PHP 소스를 다운받는다.

http://www.php.net/downloads.php

에 접속을 한다.



PHP 5.3.20 (Old stable) 소스를 다운로드한다.


다운로드후 /root/ 폴더로 이동시킨다.

이동후

tar xvzf php-5.3.20.tar.gz

위 명령어로 압축을 해제한다.

압축해제가 완료되었으면,

cd php-5*


위와 같은 명령어로 압축을 푼 디렉토리로 이동을 한다.

./configure --prefix=/usr/local/php --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/apache2 --with-mysql=/usr/local/mysql --with-curl --with-iconv --with-gd --with-jpeg-dir --with-zlib-dir --with-ttf --with-freetype-dir --enable-ftp --enable-sockets --enable-mbstring --enable-gd-native-ttf --enable-exif

이동이 완료되었으면 위 명령어를 입력하여 make 와 make install 사용할 준비를 한다.

우분투 외 다른 OS의 경우

./configure --prefix=/usr/local/php --with-apxs2=apx2위치 --with-config-file-path=아파치 설정폴더 --with-mysql=/usr/local/mysql --with-curl --with-iconv --with-gd --with-jpeg-dir --with-zlib-dir --with-ttf --with-freetype-dir --enable-ftp --enable-sockets --enable-mbstring --enable-gd-native-ttf --enable-exif

위에 표시해둔 apx2위치와 아파치 설정폴더를 적어둔후 입력을한다.

입력후 조금의 시간이 흐르면(?)

완료가 되는데,

완료후

make

명령어를 입력한다.

make 명렁어 완료되면

make install

위 명령어로 컴파일은 마친다.


cp php.ini-production /etc/php5/php.ini

PHP 5.3.20 의 php.ini을 우분투 설정파일로 복사하기 위해 위 명령어를 입력한다.

service apache2 restart

서비스 아파치를 재시작한다.

<? phpinfo() ?>

phpinfo 함수로 php 파일을 만든후 ftp에 업로드해서 php 정보를 출력해보자.


위와같이 뜬다면 PHP 다운그레이드가 완료된것이다.



다시 XE 페이지에 들어가봤다.




   


아래의 손가락버튼을 눌러주시면 블로그에 큰 힘이 됩니다.









Name(이름)
Password(비밀번호)
Homepage(홈페이지)
Secret(비밀글)