내일은 대한입니다.
sun's longitude:298 48 48.72 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/delete.php:소스보기  

질문과 답변 게시판입니다.

현재 실시간으로 이곳 서버의 설정파일(몇개)를 보여주고 있습니다.
서버의 설정내용에 관한 질문은 먼저 이곳 서버의 설정내용을 참고하시길 바랍니다.

[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
 ★ 글 지우기 항목입니다. 한번 더 생각하시고 결정하십시오.!!!
제목 8607 번 글의 답장글 : Re: Re: Re: Re: Re: php 관련 질문 드립니다.
 이름  산이 [홈]http://linuxchannel.net/

1. php 5.2/5.3 에서는

filesize('http://....');

와 같이 url open 으로 파일 크기를 알아낼 수 없습니다.
따라서 당연히 주석처리해야 하구요.


2. 그리고 5.3 으로 넘어오면서 에러메시지 출력부분이 몇가지 추가되었습니다.

즉 E_DEPRECATED 이 메시지가 5.3에서 추가되었습니다.

개발할 경우에는 error_reporting(E_ALL) 으로 설정하고

php.ini 에는
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_STRICT

이렇게 설정해 놓은게 좋습니다.


3. 5.2 -> 5.3

http://kr.php.net/manual/en/migration53.php
http://kr.php.net/manual/en/migration53.deprecated.php

위의 두개 문서를 확인해보세요.


기존소스에서 다운로드가 안되었던 원인은 위에서 말한 에러메시지 출력부분 때문에 그렇습니다.



[고승범]님이 남기신 글:

>
>php.ini 파일에서 allow_url_fopen = On 되어있습니다.
>
>혹시 몰라 php 5.3.3 버전 서버의 php.ini 파일 첨부하였습니다.
>
>php -m 리스트입니다.
>
>apc
>bcmath
>bz2
>calendar
>Core
>ctype
>curl
>date
>dba
>dom
>enchant
>ereg
>exif
>fileinfo
>filter
>ftp
>gd
>gettext
>gmp
>hash
>iconv
>imap
>intl
>json
>ldap
>libxml
>mbstring
>memcache
>mysql
>mysqli
>odbc
>openssl
>pcntl
>pcre
>PDO
>pdo_mysql
>PDO_ODBC
>pdo_pgsql
>pdo_sqlite
>pgsql
>Phar
>posix
>pspell
>readline
>recode
>Reflection
>session
>shmop
>SimpleXML
>snmp
>soap
>sockets
>SPL
>sqlite3
>standard
>sysvmsg
>sysvsem
>sysvshm
>tidy
>tokenizer
>wddx
>xml
>xmlreader
>xmlrpc
>xmlwriter
>xsl
>zip
>zlib
>
>[Zend Modules]
>
>[산이]님이 남기신 글:
>
>>기존 소스에서 filesize() 함수 라인을 주석처리하면 정상적으로 다운로드되면
>>filesize() 함수에서 에러가 난다는 뜻입니다.
>>
>>php.ini 파일에서
>>
>>allow_url_fopen = On
>>
>>으로 설정되어 있는지 확인해보세요.
>>
>>
>>[고승범]님이 남기신 글:
>>
>>>답변 주셔서 정말 감사합니다.
>>>
>>>curl 모듈은 올라와 있었구요, 3번의 filesize 부분 주석처리 하니 정상적으로 파일 다운로드가 되었습니다.
>>>
>>>php 5.2에서는 되지만 5.3에서는 작동하지 않는 원인도 좀 알 수 있을까요?
>>>
>>>참고할만한 링크라도 알려주시면 감사하겠습니다.
>>>
>>>
>>>[산이]님이 남기신 글:
>>>
>>>>아마 5.2 에서 5.3 으로 넘어오면서 에러메시지 출력부분 설정이 조금 안된것 같네요.
>>>>(error_reporting)
>>>>
>>>>1. eregi() 함수는 5.3 에서 사용은 가능하나 향후에 없어질거라고 메시지를 뿌려집니다.
>>>>따라서 eregi 함수 대신 preg_match() 함수를 써야 합니다.
>>>>
>>>>2. curl 모듈이 올라와 있는지 체크
>>>>
>>>>shell> php -m
>>>>
>>>>PHP 5.3 의 yum 에는 curl 모듈이 없는것 같네요.
>>>>수동으로 설치가 가능하지만 조금 복잡합니다.
>>>>
>>>>같은 버전 php 소스를 받아서 압축을 풀고
>>>>
>>>>yum -y curl-devel
>>>>./configure --disable-all --with-curl=shared
>>>>make
>>>>ls -al modules/curl.so
>>>>
>>>>curl.so 가 만들어졌으면 php.ini 파일에서 extension_dir 로 설정된 디렉토리에
>>>>curl.so 를 복사하고 extension = curl.so 추가
>>>>
>>>>그리고 php -m 으로 curl 이 모듈이 올라오면
>>>>
>>>>apachectl restart
>>>>
>>>>
>>>>3. filesize() 함수를 사용하는 header() 라인은 주석처리
>>>>
>>>>첨부파일 받아서 테스트해보세요.
>>>>
>>>>
>>>>[고승범]님이 남기신 글:
>>>>
>>>>>-----------------------------------------
>>>>>답변자가 기본적으로 참고할 내용입니다.
>>>>>- 배포판(옵션) :
>>>>>- 커널버전(옵션) :
>>>>>- 데몬버전(예:apache 1.3.27) :
>>>>>- 데몬설치유형(RPM/컴파일/기타) :
>>>>>-----------------------------------------
>>>>>*스팸필터링:한글 11자 이상 없으면 스팸페이지로 이동합니다.
>>>>>
>>>>>기존 웹서버를 버전업을 하여 신규 웹서버를 구성하였습니다.
>>>>>
>>>>>신규 웹 서버에서 다른 부분은 모두 정상 작동하고 있는데 php에서 파일 다운로드 창을 띠우고 파일 다운로드 시 파일이 0바이트로 다운로드 됩니다.
>>>>>
>>>>>어떤 부분을 확인해바야 하는 지 조언 부탁드리겠습니다.
>>>>>==============================================
>>>>>OLD Server
>>>>>OS : centos5.6
>>>>>apache : Apache/2.2.22 (Unix)
>>>>>php : PHP 5.2.17 (cli)
>>>>>설치방법 : 컴파일
>>>>>
>>>>>New Server
>>>>>OS : centos6.2
>>>>>apache : Apache/2.2.15 (Unix)
>>>>>php : PHP 5.3.3 (cli)
>>>>>설치방법 : yum install
>>>>>
>>>>>download.php
>>>>><?
>>>>>
>>>>> if(eregi("(MSIE 5.0|MSIE 5.1|MSIE 5.5|MSIE 6.0)", $_SERVER["HTTP_USER_AGENT"]) && !eregi("(Opera|Netscape)", $_SERVER["HTTP_USER_AGENT"])) {
>>>>> Header("Content-type: audio/mpeg");
>>>>> Header("Content-Disposition: attachment; filename=enjoy.mp3");
>>>>> Header("Content-Length:".filesize("http://abc.com/enjoy.mp3"));
>>>>> Header("Content-Transfer-Encoding: binary");
>>>>> Header("Pragma: no-cache");
>>>>> Header("Expires: 0");
>>>>> flush();
>>>>> } else {
>>>>> Header("Content-type: file/unknown");
>>>>> Header("Content-Disposition: attachment; filename=enjoy.mp3");
>>>>> Header("Content-Length:".filesize("http://abc.com/enjoy.mp3"));
>>>>> Header("Content-Transfer-Encoding: binary");
>>>>> Header("Pragma: no-cache");
>>>>> Header("Expires: 0");
>>>>> flush();
>>>>> }
>>>>>
>>>>> $ch = curl_init();
>>>>> curl_setopt( $ch, CURLOPT_URL, "http://abc.com/enjoy.mp3" );
>>>>> curl_setopt( $ch, CURLOPT_HEADER, false );
>>>>> curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
>>>>> curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 5 );
>>>>> curl_setopt( $ch, CURLOPT_TIMEOUT, 5 );
>>>>>
>>>>> print curl_exec( $ch );
>>>>>?>
>>>>
>>>>========================================
>>>
>>>========================================
>>
>>========================================
>
>========================================

========================================
2012년 04월 29일 18:23:43 일(저녁)  from 211.212.225.115
0
암호: 공용 보안 SSL 서버가 준비되기 전까지는 off 합니다

apache lighttpd linuxchannel.net 
Copyright 1997-2025. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds