![apt를 사용하지 않고 xdebug를 업그레이드하시겠습니까?](https://linux55.com/image/48301/apt%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80%20%EC%95%8A%EA%B3%A0%20xdebug%EB%A5%BC%20%EC%97%85%EA%B7%B8%EB%A0%88%EC%9D%B4%EB%93%9C%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
저는 debian 5.0.6을 실행 중이고 aptitude를 통해 xdebug 2.0.3을 설치했습니다. 이제 PHPUnit을 설치하려고 하는데 pear를 통해 설치하려고 하면 PHPUnit이 xdebug 업데이트를 원한다는 오류가 발생합니다.
phpunit/PHPUnit requires PHP extension "xdebug" (version >= 2.0.5), installed version is 2.0.3
데비안 웹사이트를 확인해 보니 2.0.5용 패키지가 보이지 않습니다. 적절한 시스템 외부에서 xdebug를 업그레이드하는 것이 안전한가요? 나는 이러한 것(php, apache2 및 xdebug)이 서로 어떻게 관련되어 있는지 완전히 확신하지 못하며 문제를 일으키고 가동 중지 시간을 유발하고 싶지 않습니다. 내 대략적인 추측은 xdebug 2.0.5를 빌드한 다음 Apache를 다시 시작한다는 것입니다. 혼자 하면 xdebug 패키지 나올 때 적성이 문제를 일으키나요?
답변1
새로운 버전이 있습니다스퀴즈 중 xdebug(데비안의 다음 버전은 이제 매달 준비될 것입니다). 안정적인 공식 백포트가 없습니다. 그렇지 않으면 백포트가 아래에 나열됩니다.xdebug 패키지 검색 페이지). 바이너리 패키지는 최신 버전의 PHP를 사용하지만 컴파일할 수 있어야 합니다.소스코드 패키지lenny의 빌드 종속성이 lenny에서 만족되기 때문입니다. 패키지를 만드는 비결은 다음과 같습니다.
- 세 개의 파일(
.dsc
,.orig.tar.gz
및.debian.tar.gz
)을 다운로드합니다. 이는 적시 요구 사항이므로 수동으로 수행할 수 있습니다. - 빌드 종속성을 사용하거나 설치합니다(여기
debhelper
및php5-dev
). 또한 기본 개발 패키지 세트를 설치하면 패키지가 모두 제거됩니다. 아직 설치가 필요합니다.apt-get
aptitude
build-essential
fakeroot
- 소스 코드의 압축을 풀고
dpkg-source -x xdebug_2.1.0-1.dsc
소스 코드 디렉터리로 전환합니다:cd xdebug-2.1.0
. - (소스 패키지를 변경하지 않는 경우 이 단계를 건너뛸 수 있습니다.) 파일
을 편집하여debian/changelog
새 변경 로그 항목을 추가합니다. 이는 Emacs에서 쉽게 수행됩니다.- 확실하게 하다
dpkg-dev-el
소프트웨어 패키지가 설치되었습니다. debian/changelog
Emacs에서 엽니다.- 항목을 추가하는 데 사용됩니다
C-c C-a
. - 새 버전 번호를 선택합니다(
2.1.0~user394+1
공식 백포트에서 사용하는 패턴을 따르는 합리적인 선택입니다). - 로그 항목을 작성합니다(예
backport to lenny
: 변경 사항을 설명). - 항목을 완료 하는 데 사용됩니다
C-c C-c
.
- 확실하게 하다
- 패키지 컴파일:
dpkg-buildpackage -rfakeroot -us -uc
PGP/GPG 키가 있는 경우-us -uc
패키지에 암호화 서명하라는 메시지가 표시될 때 비밀번호를 입력하지 마세요. Profit은바이너리 패키지를 설치합니다.
단계를 요약하면 다음과 같습니다.
wget http://ftp.de.debian.org/debian/pool/main/x/xdebug/xdebug_2.1.0{.orig.tar.gz,-1.{dsc,debian.tar.gz}}
sudo aptitude install build-essential fakeroot debhelper php5-dev
dpkg-source -x xdebug_2.1.0-1.dsc
cd xdebug-2.1.0
# patch as necessary
emacs debian/changelog # not necessary if unpatched
dpkg-buildpackage -rfakeroot -us -uc
dpkg -i ../php5-xdebug_2.1.0_*.deb
답변2
맞습니다. php-dev 패키지를 설치하고(기존 PHP에 대해 컴파일할 수 있도록) 최신 xdebug 버전을 빌드하여 데비안 버전을 덮어쓸 수 있습니다. 문제는 데비안이 패키지(어쩌면 작은 패치)를 업데이트하면 변경 사항이 덮어쓰여진다는 것입니다. 자신만의 패키지를 만들 수 있지만 이는 다소 번거로운 경우가 많습니다.
그러나 중단/문제 관점에서는 문제가 없을 것입니다(최악의 상황은 php.ini 파일에서 xdebug 확장에 대한 경로를 조정해야 할 수도 있다는 것입니다).