#49234 [Com]: method not found ssl_set
| From: | Thalashir at gmail dot com | Date: | Thu, 13 Aug 2009 09:32:00 +0000 |
| Subject: | #49234 [Com]: method not found ssl_set | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-141018@lists.php.net to get a copy of this message | ||
ID: 49234
Comment by: Thalashir at gmail dot com
Reported By: thalashir at gmail dot com
Status: Assigned
Bug Type: MySQLi related
Operating System: windows xp
PHP Version: 5.3.0
Assigned To: mysql
New Comment:
Ok, thanks. Any suggestions how could I do the connection? I tried with
$mysqli->options(MYSQLI_READ_DEFAULT_FILE,'/path/to/cert_my.cnf');
where cert_my.cnf is
ssl-ca='path/to/cacert.pem'
ssl-cert='path/to/cert.pem'
ssl-key='path/to/key.pem'
but denies access to user.
Tried to access via mysql command line with options --ssl-ca=...
--ssl-cert=... --ssl-key... and it works.
Previous Comments:
------------------------------------------------------------------------
[2009-08-12 12:26:50] pajoye@php.net
It is not available with mysqlnd. No idea why, assigned to the mysql
team :)
------------------------------------------------------------------------
[2009-08-12 11:04:31] thalashir at gmail dot com
Description:
------------
When I try to connect to a Mysql database using SSL and mysqli, it says
that the method ssl_set don't exists. I used function
get_class_methods(mysqli) and is not listed. I checked mysql support,
mysqli support and openssl support with phpinfo and they are all
supported.
Here is the list returned from get_class_methods:
autocommit
change_user
character_set_name
client_encoding
close
commit
connect
dump_debug_info
debug
get_charset
get_client_info
get_connection_stats
get_server_info
get_warnings
init
kill
multi_query
mysqli
more_results
next_result
options
ping
prepare
query
real_connect
real_escape_string
poll
reap_async_query
escape_string
real_query
rollback
select_db
set_charset
set_opt
stat
stmt_init
store_result
thread_safe
use_result
refresh
Reproduce code:
---------------
$mysqli= mysqli_init();
if (!$mysqli) {
die('mysqli_init failed');
}
$mysqli->ssl_set('path/to/key.pem','path/to/cert.pem','path/to/cacert.pem',null,null);
$mysqli_real_connect('1.2.3.4','ssluser','sslpassword','db',port,MYSQLI_CLIENT_SSL);
//queries
$mysqli->close();
Expected result:
----------------
A secure connection to mysql
Actual result:
--------------
Fatal error: Call to undefined method mysqli::ssl_set() in ...
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=49234&edit=1