안녕하세요, Debian 9을 사용하여 Apache를 설치했습니다. 그런 다음 apt-get을 사용하여 php7.0을 설치했지만 php7.1을 설치해야 합니다. 처음에는 이렇게 했습니다.
# su
# apt-get purge php7.0
그래서 나는 다음에서 다운로드했습니다.http://php.net/downloads.phpPHP 7.1.10을 만들고 이것을 만드십시오
# ./configure --with-mcrypt
# make
# make install
하지만 phpinfo()
php7.0이 있어서 그렇게 했습니다.
# su
# apt-get purge php7.0
# apt-get autoremove php7.0
그리고 phpinfo()
그것이 작동하지 않을 것이라는 것을 알고 있습니다. 아직 php가 설치되지 않은 것 같습니다.
그런 다음에서 다운로드http://php.net/downloads.phpPHP 7.1.11(오늘 새로 추가됨) 및 내부
# tar jxvf php-7.1.11.tar.bz2
# apt-get install build-essential
# apt-get install libxml2-dev libmcrypt-dev libjpeg-dev
# cd php-7.1.11
# ./configure --with-mcrypt --with-pdo-pgsql=/etc/postgresql/9.6/main --with-openssl=/usr/bin/openssl --with-zlib --with-apxs2=/usr/bin/apxs2
모든 검사 사이에 다음 오류가 발생합니다.
Configuring SAPI modules
checking for Apache 2.0 handler-module support via DSO through APXS... [Fri Oct 27 12:30:45.328686 2017] [core:warn] [pid 12056] AH00111: Config variable ${APACHE_RUN_DIR} is not defined
apache2: Syntax error on line 80 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot
yes
configure: error: Cannot find OpenSSL's <evp.h>
이게 무슨 문제야?
답변1
이를 위해 Sury 저장소를 사용하십시오(https://deb.sury.org/)는 저장소 목록에 추가하는 작은 스크립트입니다.
#!/bin/bash
# To add this repository please do:
if [ "$(whoami)" != "root" ]; then
SUDO=sudo
fi
${SUDO} apt-get install apt-transport-https lsb-release ca-certificates
${SUDO} wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
${SUDO} sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
${SUDO} apt-get update
데비안 리포지토리를 사용하여 소프트웨어를 설치하는 것이 수동 설치보다 훨씬 낫습니다. 많은 문제를 줄일 수 있습니다 :)
답변2
SSL 개발자가 누락되었을 수 있습니다. 이 시도...
apt-get install libssl-dev
이렇게 하면 문제가 해결될 수 있습니다.
팁: 파일을 잃어버릴 때마다 apt-get을 사용하여 해당 패키지를 찾으세요...
apt-file search /evp.h | egrep '/evp.h$'