Software-Installation
如何使用 OpenSSL 1.0.1 在 solaris 10 上安裝 php7
我正在嘗試在 Solaris 10 上安裝 php7。
OpenSSL 1.0.1 是從https://www.opencsw.org/packages/libssl1_0_0/安裝的
為了檢查我安裝的 ssl
pkginfo -i | grep -i "ssl"
我得到了這個輸出:
application CSWlibssl1-0-0 libssl1_0_0 - Openssl 1.0 runtime libraries GNOME2 SUNWopenjade DSSSL-Engine for SGML documents GNOME2 SUNWopenjade-devel DSSSL-Engine for SGML documents - developer files GNOME2 SUNWopenjade-root DSSSL-Engine for SGML documents - platform independent files, / filesystem GNOME2 SUNWopenjade-share DSSSL-Engine for SGML documents - platform independent files, /usr/share system SUNWopenssl-commands OpenSSL Commands (Usr) system SUNWopenssl-include OpenSSL Header Files system SUNWopenssl-libraries OpenSSL Libraries (Usr) system SUNWopenssl-man OpenSSL Manual Pages system SUNWopensslr OpenSSL (Root) utility openssl openssl 1.0.1j SPARC 64bit Solaris 10
然後,為了檢查安裝路徑,我做了
pkgchk -l CSWlibssl1-0-0 | egrep '^(Pathname|Type)'
這給了
Pathname: /opt/csw/lib/libcrypto.so.1.0.0 Type: regular file Pathname: /opt/csw/lib/libssl.so.1.0.0 Type: regular file Pathname: /opt/csw/lib/openssl-1.0.0 Type: directory Pathname: /opt/csw/lib/openssl-1.0.0/engines Type: directory Pathname: /opt/csw/lib/openssl-1.0.0/engines/lib4758cca.so Type: regular file Pathname: /opt/csw/lib/openssl-1.0.0/engines/libaep.so Type: regular file Pathname: /opt/csw/lib/openssl-1.0.0/engines/libatalla.so Type: regular file Pathname: /opt/csw/lib/openssl-1.0.0/engines/libcapi.so Type: regular file Pathname: /opt/csw/lib/openssl-1.0.0/engines/libchil.so Type: regular file Pathname: /opt/csw/lib/openssl-1.0.0/engines/libcswift.so Type: regular file Pathname: /opt/csw/lib/openssl-1.0.0/engines/libgmp.so Type: regular file Pathname: /opt/csw/lib/openssl-1.0.0/engines/libgost.so Type: regular file Pathname: /opt/csw/lib/openssl-1.0.0/engines/libnuron.so Type: regular file Pathname: /opt/csw/lib/openssl-1.0.0/engines/libpadlock.so Type: regular file Pathname: /opt/csw/lib/openssl-1.0.0/engines/libpk11.so Type: regular file Pathname: /opt/csw/lib/openssl-1.0.0/engines/libsureware.so Type: regular file Pathname: /opt/csw/lib/openssl-1.0.0/engines/libubsec.so Type: regular file Pathname: /opt/csw/lib/sparcv9/libcrypto.so.1.0.0 Type: regular file Pathname: /opt/csw/lib/sparcv9/libssl.so.1.0.0 Type: regular file Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0 Type: directory Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines Type: directory Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/lib4758cca.so Type: regular file Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libaep.so Type: regular file Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libatalla.so Type: regular file Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libcapi.so Type: regular file Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libchil.so Type: regular file Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libcswift.so Type: regular file Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libgmp.so Type: regular file Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libgost.so Type: regular file Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libnuron.so Type: regular file Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libpadlock.so Type: regular file Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libpk11.so Type: regular file Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libsureware.so Type: regular file Pathname: /opt/csw/lib/sparcv9/openssl-1.0.0/engines/libubsec.so Type: regular file Pathname: /opt/csw/share/doc/libssl1_0_0 Type: directory Pathname: /opt/csw/share/doc/libssl1_0_0/CHANGES Type: regular file Pathname: /opt/csw/share/doc/libssl1_0_0/CHANGES.SSLeay Type: regular file Pathname: /opt/csw/share/doc/libssl1_0_0/FAQ Type: regular file Pathname: /opt/csw/share/doc/libssl1_0_0/INSTALL Type: regular file Pathname: /opt/csw/share/doc/libssl1_0_0/NEWS Type: regular file Pathname: /opt/csw/share/doc/libssl1_0_0/PROBLEMS Type: regular file Pathname: /opt/csw/share/doc/libssl1_0_0/README Type: regular file Pathname: /opt/csw/share/doc/libssl1_0_0/README.ASN1 Type: regular file Pathname: /opt/csw/share/doc/libssl1_0_0/README.CSW Type: regular file Pathname: /opt/csw/share/doc/libssl1_0_0/README.ENGINE Type: regular file Pathname: /opt/csw/share/doc/libssl1_0_0/license Type: regular file
然後我這樣做了:
#CC="/opt/gcc-4.9.0/bin/gcc" \ #export CC #CFLAGS="-std=gnu99 -fPIC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" \ # export CFLAGS # LDFLAGS="-L/opt/gcc-4.9.0/lib -L/usr/local/lib -R/opt/gcc-4.9.0/lib" # export LDFLAGS # cd /php-7.2.4
因此,我在 php 目錄中的配置腳本如下所示:
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/lib --with-apxs2=/usr/apache2.4.3/bin/apxs --with-ldap=/opt/gcc-4.9.0/lib \ --with-mysql --with-mysqli --with-pdo-mysql --with-pdo-mysql --with-zlib --with-zlib-dir=/usr/local \ --with-iconv-dir=/usr/local --with-pcre-dir=/usr/local --with-gettext=/usr/local --with-libxml-dir=/usr/local --with-curl --with-openssl \ --with-openssl-dir=/opt/csw/lib/ --with-gd --with-freetype-dir=/usr/local --with-gnu-ld --enable-shared --enable-mbstring \ --with-oci8=instantclient,/ebsproddb/oracle/11.2.0/instantclient \ --enable-exif --enable-sockets --enable-soap --enable-zip --enable-ftp --enable-mysqlnd --disable-zend-signals --disable-static
但是,在多次嘗試後配置失敗。
checking for pkg-config... /usr/bin/pkg-config configure: error: OpenSSL version 1.0.1 or greater required.
我究竟做錯了什麼?
看來您沒有指定 openssl 標頭檔。
--with-openssl=DIR Include OpenSSL support (requires OpenSSL >= 1.0.1)
所以,可能如下
./configure --with-openssl=/path_to_header_files --with-openssl-dir=/opt/csw/lib....etc
--help
請使用選項檢查配置腳本的輸出。