1

I have been bashing my head against a wall for a couple of days now. I just cant figure it out.

I have compiled PHP 5.6.10 and PHP 5.6.11 with these options:

./configure --prefix=/opt/php-5.6.11-apache --with-config-file-path=/opt/php-5.6.11-apache/etc --disable-debug --enable-roxen-zts --enable-short-tags --enable-magic-quotes --enable-sigchild --enable-libgcc --with-libdir=/lib/x86_64-linux-gnu --with-openssl --with-openssl-dir=/usr/bin --with-zlib --enable-bcmath --with-bz2 --enable-calendar --enable-ctype --with-curl=/usr/bin --with-cdb --enable-inifile --enable-flatfile --enable-dba --with-xsl --enable-dom --enable-exif --enable-filter --enable-ftp --with-gd --with-png-dir=/usr --with-jpeg-dir=/usr --enable-gd-native-ttf --with-freetype-dir=/usr --with-gettext --with-gmp --enable-hash --with-iconv --with-imap --with-imap-ssl --with-kerberos --with-ldap --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-mcrypt=/usr --with-mhash --with-mysql --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-mysqli=mysqlnd --with-pgsql --with-unixODBC=/usr --with-sqlite --with-sqlite3=/usr --enable-pdo --with-pdo-mysql=mysqlnd --with-pdo-pgsql --with-pdo-odbc=unixODBC,/usr --with-pdo-sqlite=/usr --enable-phar --enable-posix --enable-session --with-mm --enable-shmop --enable-soap --with-xmlrpc --enable-libxml --enable-sockets --with-pspell --with-enchant --enable-intl --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-tidy --enable-tokenizer --enable-wddx --enable-simplexml --enable-xml --enable-xmlreader --enable-xmlwriter --enable-zip --with-pear --with-pcre-regex --with-snmp --enable-json --enable-pcntl --enable-inline-optimization --enable-fileinfo --enable-zend-multibyte --enable-opcache --enable-cgi --with-apxs2=/usr/bin/apxs2 --disable-all

I have also tried the following:

./configure --prefix=/opt/php-5.6.10 --with-config-file-path=/opt/php-5.6.10/etc --disable-debug --enable-roxen-zts --enable-short-tags --enable-magic-quotes --enable-sigchild --enable-libgcc --with-libdir=/lib/x86_64-linux-gnu --with-openssl --with-zlib --enable-bcmath --with-bz2 --enable-calendar --enable-ctype --with-curl --with-cdb --enable-inifile --enable-flatfile --enable-dba --with-xsl --enable-dom --enable-exif --enable-filter --enable-ftp --with-gd --with-png-dir=/usr --with-jpeg-dir=/usr --enable-gd-native-ttf --with-freetype-dir=/usr --with-gettext --with-gmp --enable-hash --with-iconv --with-imap --with-imap-ssl --with-kerberos --with-ldap --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-mcrypt --with-mhash --with-mysql --with-mysqli --with-pgsql --with-unixODBC=/usr --with-sqlite --with-sqlite3 --enable-pdo --with-pdo-mysql --with-pdo-pgsql --with-pdo-odbc=unixODBC,/usr --with-pdo-sqlite --enable-phar --enable-posix --enable-session --with-mm --enable-shmop --enable-soap --with-xmlrpc --enable-libxml --enable-sockets --with-pspell --with-enchant --enable-intl --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-tidy --enable-tokenizer --enable-wddx --enable-simplexml --enable-xml --enable-xmlreader --enable-xmlwriter --enable-zip --with-pear --with-pcre-regex --with-snmp --enable-json --enable-pcntl --enable-inline-optimization --enable-fileinfo --enable-zend-multibyte --enable-opcache --enable-cgi --disable-all

I cant connect to MySQL SSL with PHP!

I get the following errors:

PHP Warning:  mysql_connect(): this stream does not support SSL/crypto in /xxxxx/test2.php on line 2  
PHP Warning:  mysql_connect(): Cannot connect to MySQL by using SSL in /xxxxx/test2.php on line 2  
PHP Warning:  mysql_connect(): [2002]  (trying to connect via unix:///var/run/mysqld/mysqld.sock) in /xxxxx/test2.php on line 2

My test2.php contains the following:

<?php
$link = mysql_connect("localhost","axxxx5","Jxxxxxxxxse",false,MYSQL_CLIENT_SSL) 
        or die(mysql_error());
$res = mysql_query("SHOW STATUS LIKE 'ssl_cipher';",$link);
print_r(mysql_fetch_row($res));
echo "Finished.";
?>

When I run a phpinfo, everything seems fine:

  • OpenSSL support enabled
  • OpenSSL Library Version OpenSSL 1.0.1 14 Mar 2012
  • OpenSSL Header Version OpenSSL 1.0.1 14 Mar 2012

But when I check with the command line tool, everything works:

$ php /xxx/test2.php
Array (
    [0] => Ssl_cipher
    [1] => AES256-SHA ) Finished
3
  • 1
    I think you have to use mysqli or PDO...I believe mysql_connect has been deprecated Commented Jul 10, 2015 at 18:31
  • Stack Overflow is a site for programming and development questions. This question appears to be off-topic because it is not about programming or development. See What topics can I ask about here in the Help Center. Perhaps Super User or Server Fault would be a better place to ask. Also see Where do I post questions about Dev Ops?. Commented Jul 11, 2015 at 1:47
  • @jww, surely, a question about connecting to MySQL from a PHP application like this is about programming or development, isn't it? Commented Jul 14, 2015 at 1:01

1 Answer 1

4

When you connect to localhost

<?php mysql_connect("localhost",...)

if such a link is available, the communication transits over a local socket

mysql_connect(): [2002]  (trying to connect via unix:/// (...)

Indeed, such a link "does not support SSL/crypto" (it would make little sense to encrypt a local communication channel).

To bypass this optimisation and force communication over TCP/IP, connect to 127.0.0.1.

Sign up to request clarification or add additional context in comments.

1 Comment

And yes, run away from this obsolete mysql_* extension.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.