OpenSSL 1.0.1을 사용하여 Solaris 10에 php7을 설치하는 방법

OpenSSL 1.0.1을 사용하여 Solaris 10에 php7을 설치하는 방법

솔라리스 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.

내가 뭘 잘못했나요?

답변1

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

options 을 사용하여 구성 스크립트의 출력을 확인하십시오 --help.

관련 정보