O truque era para instalar a versão mais recente do openssl-0.9.x
, aparentemente php-5.3
não funciona com openssl-1.x
one. Então:
PHP_BUILD_CONFIGURE_OPTS=--with-openssl=/usr/local/ssl phpenv install 5.3.29
Além disso, pode ser necessário especificar mysqli.default_socket = /run/mysqld/mysqld.sock
em ~/.phpenv/versions/5.3.29/etc/php.ini
. Caso contrário, php
diz:
PHP Warning: mysqli_connect(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in /home/yuri/_/1.php on line 2
PHP Stack trace:
PHP 1. {main}() /home/yuri/_/1.php:0
PHP 2. mysql_connect() /home/yuri/_/1.php:2
PHP Warning: mysqli_connect(): (HY000/2002): No such file or directory in /home/yuri/_/1.php on line 2
PHP Stack trace:
PHP 1. {main}() /home/yuri/_/1.php:0
PHP 2. mysqli_connect() /home/yuri/_/1.php:2
bool(false)
O script:
<?php
$r = mysqli_connect('localhost', '<USER>', '<PASS>');
var_dump($r);
UPD A outra maneira de corrigir isso é passar mais uma opção para configurar:
PHP_BUILD_CONFIGURE_OPTS='--with-openssl=/usr/local/ssl --with-mysql-sock' phpenv install 5.3.29