Apache 2.4.39 / Mariadb 10.3.15 와 연동
1) apache, mysql 데몬 중지
실행되어 있지 않아, 별도로 데몬 중지는 진행 하지않음
2) 기존 php 백업
[root@ /opt]# mv php php_bak
[root@ /opt]# ll | grep php
drwxr-xr-x 8 root root 76 2019-07-11 17:44 php_bak
3) 기존 apache libphp7.so 파일 백업
[root@ /opt/apache/modules]# mv libphp7.so libphp7.so_bak
4) 설치
wget -P /root/src/ https://www.php.net/distributions/php-8.1.0.tar.gz
cd /root/src; tar -zxvf php-8.1.0.tar.gz ; cd php-8.1.0
./configure --prefix=/opt/php --with-apxs2=/opt/apache/bin/apxs --with-pdo-mysql --with-mysqli --with-curl --with-jpeg --with-freetype --with-xpm --with-zlib --with-zlib-dir=/usr --with-gdbm --with-gettext --with-iconv --with-openssl --with-libxml --with-bz2 --with-zip --enable-mysqlnd --enable-exif --enable-ftp --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-soap --enable-mbstring=all --enable-bcmath --enable-gd
=============================================
*에러발생*
1) configure: error: Package requirements (sqlite3 >= 3.7.7)
해결 : yum install sqlite-devel
2) configure: error: Package requirements (oniguruma) were not met:
해결 : yum install oniguruma-devel
3) Warning (정상적으로 php 컨파일은 됐지만 아래 옵션들이 php 8 부터는 바뀐것으로 보인다.
ㄴ png 는 php 7.4 부터는 기본 gd 포함이라고 한다!
configure: WARNING: unrecognized options: --with-gd, --with-jpeg-dir, --with-freetype-dir, --with-png-dir, --with-xpm-dir, --with-libxml-dir, --enable-zip
변경 된 내용 :
--enable-gd Include GD support
--with-jpeg GD: Enable JPEG support (only for bundled libgd)
--with-freetype GD: Enable FreeType 2 support (only for bundled
--with-xpm GD: Enable XPM support (only for bundled libgd)
--with-zip Include Zip read/write support
--without-libxml Build without LIBXML support / --with-expat XML: use expat instead of libxml2
4) configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:
yum remove libzip
yum install cmake3 (3.x 설치)
ln -s /usr/bin/cmake3 /usr/local/bin/cmake
wget -P /root/src --no-check-certificate https://libzip.org/download/libzip-1.8.0.tar.gz
cd /root/src; tar -xvf libzip-1.8.0.tar.gz; cd libzip-1.8.0
cmake3 -DCMAKE_INSTALL_PREFIX=/usr/local/libzip-1.8.0
make -j 4
make install -j 4
export PKG_CONFIG_PATH=/usr/local/libzip-1.8.0/lib64/pkgconfig 진행후 다시 configure
5) mysql 옵션 변경
[root@~/src/php-8.1.0]# ./configure --help | grep mysql
--with-mysqli[=FILE] Include MySQLi support. FILE is the path to
mysql_config. If no value or mysqlnd is passed as
--with-mysql-sock[=SOCKPATH]
--with-pdo-mysql[=DIR] PDO: MySQL support. DIR is the MySQL base directory.
If no value or mysqlnd is passed as DIR, the MySQL
--enable-mysqlnd Enable mysqlnd explicitly, will be done implicitly
--disable-mysqlnd-compression-support
mysqlnd
해결 : 기존에는 --with-mysqli=/opt/mysql/bin/mysql_config 로 했고, 변경후는 --with-mysqli
기존에는 --with-pdo-mysql=/opt/mysql 로 했고, 변경후는 --with-pdo-mysql
--enable-mysqlnd 추가
=============================================
make -j `grep processor /proc/cpuinfo | wc -l`; make install
cp -a php.ini-production /opt/php/lib/php.ini
perl -i -pe "s/memory_limit = 8M/memory_limit = 128M/g" /opt/php/lib/php.ini
perl -i -pe "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/allow_url_fopen = On/allow_url_fopen = Off/g" /opt/php/lib/php.ini
perl -i -pe "s/post_max_size = 8M/post_max_size = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/short_open_tag = Off/short_open_tag = On/g" /opt/php/lib/php.ini
perl -i -pe "s/allow_url_fopen = On/allow_url_fopen = Off/g" /opt/php/lib/php.ini
perl -i -pe "s/;date.timezone =/date.timezone = Asia\/Seoul/g" /opt/php/lib/php.ini
perl -i -pe "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/post_max_size = 8M/post_max_size = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/max_file_uploads = 20/max_file_uploads = 30/g" /opt/php/lib/php.ini
[Zend opache 적용]
mv /root/src/php-8.1.0/modules/opcache.so /opt/php/lib/php/extensions/
vi /opt/php/lib/php.ini
아래 내용 추가
[Zend]
zend_extension=/opt/php/lib/php/extensions/opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
;opcache.revalidate_freq=60
opcache.fast_shutdown=1
[root@~]# php -v
PHP 8.1.0 (cli) (built: Dec 14 2021 14:46:27) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.0, Copyright (c) Zend Technologies
with Zend OPcache v8.1.0, Copyright (c), by Zend Technologies
php8 은 apache httpd.conf 내 적용되는 모듈은 다음과 같다.
LoadModule php_module modules/libphp.so
'On-premise > php' 카테고리의 다른 글
| php oci8 모듈 설치 (소스컴파일) (0) | 2023.11.07 |
|---|---|
| PHP 5.3.3 소스 설치 (MySQL 5.1) (0) | 2023.11.07 |
| php 7.4 재컴파일(재설치) (0) | 2023.11.07 |
| 라이믹스(Rhymix 설치) (0) | 2023.11.07 |
| php 7.4 옵션 변경 (0) | 2023.11.07 |