sun's longitude:258 28 31.11 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  

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

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

[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
2930 번 글의 답장글: Re: Re: Re: Re: Re: php 관련 질문 드립니다.
글쓴이: 산이 [홈페이지] 글쓴날: 2012년 04월 29일 18:23:43 일(저녁) 조회: 10144

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 );
>>>>>?> 
>>>>
>>>>======================================== 
>>>
>>>======================================== 
>>
>>======================================== 
>
>======================================== 

========================================

 
이전글 : Re: Re: Re: Re: php 관련 질문 드립니다.
다음글 : /var/spool/ 이하 디렉토리를 다 날려먹었습니다.  
 from 211.212.225.115
JS(Redhands)Board 0.4 +@

Re: Re: Re: Re: php 관련 질문 드립니다. /var/spool/ 이하 디렉토리를 다 날려먹었습니다.
인쇄용 


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

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