wsl2でphpenvを入れてphp7.4をインストール

技術関連

phpもどうなんだろうと思いつつもwordpressなど抜けられないとこも多い。そこでローカルにはphpenvを入れてバージョンを管理してみる

# まずは周辺のインストールから
~:$ sudo apt -y install build-essential libxml2-dev libssl-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libmcrypt-dev libreadline-dev libtidy-dev libxslt-dev libzip-dev autoconf pkg-config libsqlite3-dev libonig-dev

# phpenv
~:$ git clone https://github.com/phpenv/phpenv.git ~/.phpenv

# path追加
~:$ echo 'export PATH="$HOME/.phpenv/bin:$PATH"' >> ~/.bashrc
~:$ echo 'eval "$(phpenv init -)"' >> ~/.bashrc
~:$ source ~/.bashrc

これでphpenvは完了。続いてインストールするバージョンを選ぶ

~:$ phpenv install -l

バージョンを覚えてあとはインストール

~:$ phpenv install 7.4.29
~:$ phpenv rehash
~:$ phpenv global 7.4.29

~:$ php -v
PHP 7.4.29 (cli) (built: Apr 16 2022 23:33:49) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.29, Copyright (c), by Zend Technologies
    with Xdebug v3.1.3, Copyright (c) 2002-2022, by Derick Rethans

MySQLの設定

これですべて終わりと思ったのですが、MySQLとの接続でsocketを設定しないといけないようです
まず、MySQLの設定を確認します。

 $ mysqladmin -u(username) -p variables | grep socket
Enter password:
| performance_schema_max_socket_classes   | 10  |
| performance_schema_max_socket_instances | -1
 |
| socket                                  | /var/run/mysqld/mysqld.sock |

このsocketのパスを設定します。phpenvでインストールした場合php.iniはどこにあるかというと

$ php -i|grep php\.ini
Configuration File (php.ini) Path => /home/myname/.phpenv/versions/7.4.29/etc
Loaded Configuration File => /home/myname/.phpenv/versions/7.4.29/etc/php.ini

と場所を探すことができます。php.iniを編集します。

$ vim   /home/myname/.phpenv/versions/7.4.29/etc/php.ini

このファイルの中で、socketのパスを指定する箇所が2箇所ありますので、いずれも先程見つけた場所にします。

mysqli.default_socket = /var/run/mysqld/mysqld.sock
pdo_mysql.default_socket = /var/run/mysqld/mysqld.sock

これで保存して完了です!

PHPコンパイルオプションを編集する

~;$ vim ~/.phpenv/plugins/php-build/share/php-build/default_configure_options

で編集しましょう!デフォルトでは、

--enable-sockets
--enable-exif
--with-zlib
--with-zlib-dir=/usr
--with-bz2
--enable-intl
--with-openssl
--enable-soap
--enable-xmlreader
--with-xsl
--enable-ftp
--enable-cgi
--with-curl=/usr
--with-tidy
--with-xmlrpc
--enable-sysvsem
--enable-sysvshm
--enable-shmop
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--with-pdo-sqlite
--enable-pcntl
--with-readline
--enable-mbstring
--disable-debug
--enable-fpm
--enable-bcmath
--enable-phpdbg

コメント

タイトルとURLをコピーしました