Apache-2.2

在 debian 9 上使用 apache2 安裝 PHP7.1 時出錯

  • November 2, 2017

你好我用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>

這有什麼問題?

apt-get 安裝 libssl-dev

您必須安裝 openssl 開發文件才能編譯 php

https://packages.debian.org/stretch/libssl-dev

另外,一旦你成功編譯了 php,不要忘記將 apache 模組更改為 php.so 的正確目錄

apache配置中必須有一行看LoadModule php7_module modules/libphp7.so

引用自:https://serverfault.com/questions/880653