내 CentOS 7.2 서버에서:
[root@localhost data]# which php
/usr/local/bin/php
[root@localhost data]# ll /usr/local/bin/php
lrwxrwxrwx. 1 root root 29 Jun 25 08:13 /usr/local/bin/php -> /usr/local/php-7.1.16/bin/php
CentOS 7.2에서 PHP를 실행하고 있는데 dpkg --status 패키지 관리자를 사용하여 PHP를 설치하려면 어떻게 해야 합니까? install yum
또는 make를 사용하여 설치되었습니까 ?
답변1
달리기 rpm -qf /usr/local/php-7.1.16/bin/php
.
응답하는 경우:
file /usr/local/php-7.1.16/bin/php is not owned by any package
그러면 RPM 패키지 관리 도구를 사용하여 파일이 설치되지 않았음을 확인할 수 있습니다.
다른 사람들이 말했듯이, 아래에 설치된다는 사실은 /usr/local
배포판의 표준 패키지에서 확실히 설치되지 않았음을 보여줍니다. 를 사용하여 설치 make
하거나 타사 RPM을 사용할 수 있습니다.
파일이 설치되었는지 확실하게 확인하는 유일한 방법 make
은 시스템에서 .o
다른 개체 코드 파일이 존재하거나 존재하는 PHP 7.1.16 소스 트리와 해당 시간을 찾는 것입니다(= 소스가 실제로 컴파일되었음을 나타냄). /usr/local/php-7.1.16/bin/php에 있는 PHP 바이너리의 타임스탬프에 가깝게 스탬프를 찍습니다.
답변2
이 질문은 답이 될 수도 있고 안 될 수도 있습니다.
먼저, yum
PHP 바이너리가 설치된 패키지에 속하는지 확인하려면 다음을 수행하세요.yum whatprovides '*bin/php'
패키지를 찾을 수 없다면 yum
를 통해 설치되지 않았을 가능성이 높습니다 yum
. 가장 가능성이 높은 것은 yum 데이터베이스가 손상되었다는 것입니다.
yum을 통해 설치 되지 않은 경우 via
yum을 통해 설치되었는지 알 수 없습니다. 일반적 make
으로 make
파일을 필요한 곳에 복사하지만 기록은 남기지 않기 때문입니다.
답변3
내 생각엔 당신이 php
그것을 설치한 것 같아요 make
.
첫째, CentOS에는 공식 저장소에 php7 바이너리가 없습니다("Remi" 또는 "Webtatic"과 같은 다른 저장소에 php7 바이너리가 있음) /usr/local/
.FHS:
이
/usr/local
계층 구조는 시스템 관리자가 소프트웨어를 로컬로 설치할 때 사용됩니다. 시스템 소프트웨어가 업데이트되면 덮어쓰지 않도록 해야 합니다. 호스트 그룹 간에 공유할 수 있는 프로그램 및 데이터에 사용할 수 있지만/usr
.
IMHO, 귀하의 PHP는 make를 사용하여 로컬로 구축된 것 같습니다.