Debian
在 debian 9 上使用 apache2 安裝 PHP7.1 時出錯
你好我用debian的9安裝了apache。然後用 apt-get 安裝 php7.0 但我需要安裝 php7.1,起初我這樣做
# su # apt-get purge php7.0
所以我從http://php.net/downloads.php php 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.php php 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>
這有什麼問題?
為此使用 Sury repo ( https://deb.sury.org/ ),這是一個小腳本,可將其添加到您的 repo 列表中。
#!/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
使用 Debian repo 安裝 SW 而不是手動安裝軟體是一個更好的選擇,它會避免你很多麻煩:)