Orange-OpenSource / YACassandraPDO

Cassandra PDO Driver fork
Apache License 2.0
85 stars 32 forks source link

For PHP7,Giving error while performing MAKE command #91

Open arjunnikhil03 opened 8 years ago

arjunnikhil03 commented 8 years ago

/home/xyz/YACassandraPDO/cassandra_driver.cpp:803:57: error: macro "ZVAL_STRING" passed 3 arguments, but takes just 2 /home/xyz/YACassandraPDO/cassandra_driver.cpp:808:66: error: macro "ZVAL_STRING" passed 3 arguments, but takes just 2 /home/xyz/YACassandraPDO/cassandradriver.cpp:64: error: invalid conversion from ‘int ()(pdo_dbht, const char_, long int, pdo_stmtt, zval)’ to ‘int ()(pdo_dbht, const char_, size_t, pdo_stmtt, zval_)’ /home/xyz/YACassandraPDO/cassandradriver.cpp:64: error: invalid conversion from ‘long int ()(pdo_dbht, const char_, long int)’ to ‘zendlong ()(pdo_dbht, const char_, size_t)’ /home/xyz/YACassandraPDO/cassandradriver.cpp:64: error: invalid conversion from ‘int ()(pdo_dbht, const char_, int, char_, int, pdo_paramtype)’ to ‘int ()(pdo_dbht, const char_, size_t, char__, sizet, pdo_param_type)’ /usr/include/php/Zend/zend_API.h: In function ‘int pdo_cassandra_get_error(pdo_dbht, pdo_stmtt, zval_)’: /usr/include/php/Zend/zend_API.h:432: error: too many arguments to function ‘int add_next_indexstring(zval, const char_)’ /home/xyz/YACassandraPDO/cassandra_driver.cpp:87: error: at this point in file /home/xyz/YACassandraPDO/cassandra_driver.cpp: In function ‘std::string pdo_cassandra_get_first_sub_pattern(const std::string&, const std::string&)’: /home/xyz/YACassandraPDO/cassandradriver.cpp:389: error: cannot convert ‘char’ to ‘zendstring’ for argument ‘1’ to ‘pcre_cacheentry pcre_get_compiled_regex_cache(zendstring)’ /home/xyz/YACassandraPDO/cassandra_driver.cpp:393: error: ‘MAKE_STD_ZVAL’ was not declared in this scope /home/xyz/YACassandraPDO/cassandra_driver.cpp:394: error: ‘ALLOC_INIT_ZVAL’ was not declared in this scope /usr/include/php/Zend/zendhash.h:156: error: too many arguments to function ‘zval zend_hash_indexfind(const HashTable, zend_ulong)’ /home/xyz/YACassandraPDO/cassandra_driver.cpp:402: error: at this point in file /home/xyz/YACassandraPDO/cassandra_driver.cpp:402: error: no match for ‘operator==’ in ‘zend_hash_indexfind(((const HashTable)sub_patterns->_zval_struct::value._zend_value::arr), 1u) == (ZEND_RESULT_CODE)0’ /home/xyz/YACassandraPDO/cassandra_driver.cpp:403: error: ‘Z_TYPE_PP’ was not declared in this scope /home/xyz/YACassandraPDO/cassandra_driver.cpp:404: error: ‘Z_ARRVAL_PP’ was not declared in this scope /home/xyz/YACassandraPDO/cassandra_driver.cpp:407: error: ‘Z_STRVAL_PP’ was not declared in this scope /home/xyz/YACassandraPDO/cassandradriver.cpp:414: error: cannot convert ‘zval**’ to ‘zval’ for argument ‘1’ to ‘void _zval_ptrdtor(zval)’ /home/xyz/YACassandraPDO/cassandradriver.cpp:415: error: cannot convert ‘zval**’ to ‘zval’ for argument ‘1’ to ‘void _zval_ptrdtor(zval)’ /home/xyz/YACassandraPDO/cassandra_driver.cpp: In function ‘int pdo_cassandra_handle_set_attribute(pdo_dbht, long int, zval_)’: /home/xyz/YACassandraPDO/cassandra_driver.cpp:659: error: ‘Z_BVAL_P’ was not declared in this scope /home/xyz/YACassandraPDO/cassandra_driver.cpp: In function ‘int pdo_cassandra_handle_get_attribute(pdo_dbht, long int, zval_)’: /home/xyz/YACassandraPDO/cassandra_driver.cpp:803: error: ‘ZVAL_STRING’ was not declared in this scope /home/xyz/YACassandraPDO/cassandra_driver.cpp:808: error: ‘ZVAL_STRING’ was not declared in this scope make: *\ [cassandra_driver.lo] Error 1

sandro-lex commented 8 years ago

Hello, PHP7 is not supported by YACassandraPDO.

Check the new datastax driver: https://github.com/datastax/php-driver

arjunnikhil03 commented 8 years ago

Hello YACassandraPDO, Can you please provide a support for PHP7 and Cassandra Latest Version. I know that Datastax is providing PHP-Driver, But it has issue for adaptive swamping Process of PHP-FPM.

simonhf commented 8 years ago

I too would like YACassandraPDO to support PHP7 because I also cannot use the Datastax software for various reasons... any chance of adding support?

mathieu-lornac commented 8 years ago

I do not work at Orange anymore but I will have a look at it this week. If the differences with php6 are not too big, I should be able to find some time to make the fix

simonhf commented 8 years ago

Thanks!

AFAIK YACassandraPDO relies on thrift and late last year a Facebook dev called 'dsp' added a PHP 7 version of php_thrift_protocol [1] which was pulled into the Apache Thrift project on github. I tried building the head of Apache Thrift but their are C++ errors where Googling does not seem to help. So I tried building 'dsp's fork/branch [2] and that builds but mysteriously although ./configure says it will build the PHP library, it does not get built and there are no errors either :-( I'm still looking into this...

[1] https://github.com/dsp/thrift/commit/bc24cb7cf8aa8512dcbe085ef976dffe90b76eed [2] https://github.com/dsp/thrift/tree/php7

simonhf commented 8 years ago

Scratch that last message. Why? I tried rebuilding YACassandraPDO for PHP 5.6 with a Thrift built --without-php, i.e. just the C/C++ library. YACassandraPDO built and tested just fine... so it obviously just uses the Thrift C/C++ library and not the Thrift PHP interface. So I think Apache Thrift 0.9.2 should work just fine without using the PHP 7 version of Thrift mentioned in the above message.

simonhf commented 8 years ago

So trying to compile [1] against PHP 7 results in many errors because PHP 7 has changed things up a little bit. Trying to figure out if I can hack it to work...

$ time make
/bin/sh /home/dev/share/20160418-php7/YACassandraPDO-master/libtool --mode=compile g++ -Wall -Wno-write-strings -I/usr/include/php/ext -I. -I/home/dev/share/20160418-php7/YACassandraPDO-master -DPHP_ATOM_INC -I/home/dev/share/20160418-php7/YACassandraPDO-master/include -I/home/dev/share/20160418-php7/YACassandraPDO-master/main -I/home/dev/share/20160418-php7/YACassandraPDO-master -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/local/include  -DHAVE_CONFIG_H  -g -O2   -c /home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp -o cassandra_driver.lo 
libtool: compile:  g++ -Wall -Wno-write-strings -I/usr/include/php/ext -I. -I/home/dev/share/20160418-php7/YACassandraPDO-master -DPHP_ATOM_INC -I/home/dev/share/20160418-php7/YACassandraPDO-master/include -I/home/dev/share/20160418-php7/YACassandraPDO-master/main -I/home/dev/share/20160418-php7/YACassandraPDO-master -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/local/include -DHAVE_CONFIG_H -g -O2 -c /home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp  -fPIC -DPIC -o .libs/cassandra_driver.o
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:803:57: error: macro "ZVAL_STRING" passed 3 arguments, but takes just 2
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:808:66: error: macro "ZVAL_STRING" passed 3 arguments, but takes just 2
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:64: error: invalid conversion from 'int (*)(pdo_dbh_t*, const char*, long int, pdo_stmt_t*, zval*)' to 'int (*)(pdo_dbh_t*, const char*, size_t, pdo_stmt_t*, zval*)'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:64: error: invalid conversion from 'long int (*)(pdo_dbh_t*, const char*, long int)' to 'zend_long (*)(pdo_dbh_t*, const char*, size_t)'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:64: error: invalid conversion from 'int (*)(pdo_dbh_t*, const char*, int, char**, int*, pdo_param_type)' to 'int (*)(pdo_dbh_t*, const char*, size_t, char**, size_t*, pdo_param_type)'
/usr/include/php/Zend/zend_API.h: In function 'int pdo_cassandra_get_error(pdo_dbh_t*, pdo_stmt_t*, zval*)':
/usr/include/php/Zend/zend_API.h:432: error: too many arguments to function 'int add_next_index_string(zval*, const char*)'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:87: error: at this point in file
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp: In function 'std::string pdo_cassandra_get_first_sub_pattern(const std::string&, const std::string&)':
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:389: error: cannot convert 'char*' to 'zend_string*' for argument '1' to 'pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string*)'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:393: error: 'MAKE_STD_ZVAL' was not declared in this scope
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:394: error: 'ALLOC_INIT_ZVAL' was not declared in this scope
/usr/include/php/Zend/zend_hash.h:156: error: too many arguments to function 'zval* zend_hash_index_find(const HashTable*, zend_ulong)'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:402: error: at this point in file
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:402: error: no match for 'operator==' in 'zend_hash_index_find(((const HashTable*)sub_patterns->_zval_struct::value._zend_value::arr), 1u) == (ZEND_RESULT_CODE)0'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:403: error: 'Z_TYPE_PP' was not declared in this scope
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:404: error: 'Z_ARRVAL_PP' was not declared in this scope
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:407: error: 'Z_STRVAL_PP' was not declared in this scope
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:414: error: cannot convert 'zval**' to 'zval*' for argument '1' to 'void _zval_ptr_dtor(zval*)'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:415: error: cannot convert 'zval**' to 'zval*' for argument '1' to 'void _zval_ptr_dtor(zval*)'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp: In function 'int pdo_cassandra_handle_set_attribute(pdo_dbh_t*, long int, zval*)':
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:659: error: 'Z_BVAL_P' was not declared in this scope
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp: In function 'int pdo_cassandra_handle_get_attribute(pdo_dbh_t*, long int, zval*)':
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:803: error: 'ZVAL_STRING' was not declared in this scope
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:808: error: 'ZVAL_STRING' was not declared in this scope
make: *** [cassandra_driver.lo] Error 1

real    0m1.697s

[1] https://github.com/Orange-OpenSource/YACassandraPDO/archive/master.zip

mathieu-lornac commented 8 years ago

PHP7 internal API has changed a lot. The implementation is not complete yet, decimal support and NULL values are not handled properly.

If you want to give it a try, you can find the source code on my GitHub. https://github.com/mathieu-lornac/YACassandraPDO

Though I was the maintainer of the project when I worked at Orange I no longer have access to the original repository.

If you experience any issues, please give me detailed information on the problem you encontered.

simonhf commented 8 years ago

FYI there is another PHP 7 port here [1] which has all existing functionality ported, a bug fixed in the old decimal support code, and all tests passing :-)

[1] https://github.com/bixuehujin/YACassandraPDO/tree/php7

mathieu-lornac commented 8 years ago

I wish I knew that a few days ago ^^ Sandro, could you add this link to the README page of the project?

sandro-lex commented 8 years ago

Done.

Thanks guys!

blackdotsh commented 8 years ago

I actually have issues with bixuehujin's fork. I can insert into a set but when I try to get the set with a select command it returns a empty array. Other variable types seem to work with reads & writes (string, int, float).

simonhf commented 8 years ago

IIWY I'd code up a new failing test which works with the pre-fork code, but fails with the fork code. This would be a good starting place to get the code fixed.

blackdotsh commented 8 years ago

pre-fork code gives the correct output and the post fork code gives an empty array (wrong output).

1) I create a row with some value ( google.com ) 2) I insert an additional item to the same set on the same row ( yahoo.com ) 3) I print out the results

Pre-fork: Array ( [0] => google.com [1] => yahoo.com )

post fork

Array ( )

Both of them seem to insert the value to the database without any issues because I verified it using cqlsh, but post-fork can't seem to handle the result of the select statement.

simonhf commented 8 years ago

Are you sure this isn't covered by the existing unit tests which incidentally all work with the post fork code? It seems like a very basic issue, or? Can you post minimal code which reproduces the issues?

blackdotsh commented 8 years ago

This is the code that I used. CASSANDRA_IP needs to be replaced with your Cassandra cluster IP(s).

<?php
//
//with cqlsh, create the following keyspace & table
// CREATE KEYSPACE testkeyspace WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
// create table settest ( ip inet primary key, value set<text> ) WITH compression = { 'sstable_compression' : 'LZ4Compressor', 'chunk_length_kb' : 64 };

$dsn = "cassandra:host=CASSANDRA_IP;port=9160";
 $db = new PDO($dsn);
 $db->exec("USE testkeyspace");

$ipaddr = "127.0.0.1";
$value= "google.com";

//create the initial row
$stmt = $db->prepare("INSERT into settest (ip, value) values (:ipval, { :val } ) ;");
        $stmt->bindValue(':ipval', $ipaddr, PDO::PARAM_STR);
        $stmt->bindValue(':val', strval($value), PDO::PARAM_STR);
        $stmt->bindValue(':val', strval($value), PDO::PARAM_STR);
        $stmt->execute();

//append another value to the same row
$value="yahoo.com";
$stmt = $db->prepare("UPDATE settest SET value = value + { :val } WHERE ip = :ipval ;");
        $stmt->bindValue(':ipval', $ipaddr, PDO::PARAM_STR);
        $stmt->bindValue(':val', strval($value), PDO::PARAM_STR);
        $stmt->execute();

//print out the results
$checkIP= "127.0.0.1";
$stmt = $db->prepare("SELECT value from settest where ip = :ipval");
                $stmt->bindValue(':ipval', $checkIP, PDO::PARAM_STR);
                $stmt->execute();
                $result=$stmt->fetchAll()[0]['value'];
                print_r($result);

?>

I appreciate the help.

simonhf commented 8 years ago

bixuehujin added a test case [1] using the above code and unfortunately he was unable to reproduce the bug because the test passes on travis [2] for both PHP 5.6 and PHP 7. I suggest you look very carefully at what is different between the build and test run on travis, and the build and test run on your system. Good luck!

[1] https://github.com/bixuehujin/YACassandraPDO/commit/5ffb518635ba47a0dd7fdbb66c85d8a9230b4fc4 [2] https://travis-ci.org/bixuehujin/YACassandraPDO/builds/144470131

blackdotsh commented 8 years ago

Thanks Simon. I'll see what I did wrong.

simonhf commented 8 years ago

Please keep me in the loop.

blackdotsh commented 8 years ago

I started with a clean Debian 8 install on a dev machine. Installed Cassandra and the following packages for dotdeb repo. php7.0 php7.0-fpm php-pear php7.0-common php7.0-cli php7.0-gd nginx-full php7.0-curl

Downloaded https://github.com/bixuehujin/YACassandraPDO/archive/php7.zip and proceeded to install.

Besides the instructions that were already outlined in [1], here's what I did differently to get everything to build

Error on ./configure: checking for PDO includes... configure: error: Cannot find php_pdo_driver.h fixed by doing ln -s /usr/include/php/20151012/ext ext

YACassandraPDO/gen-cpp/Cassandra.h:10:39: fatal error: thrift/TDispatchProcessor.h: No such file or directory fixed by doing apt-get install thrift-compiler=0.6.0-2~riptano1 so an older version of thrift is used instead of version 0.9

Once complete, I run run-tests.php and received the following output

=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
Test setting/getting attributes [tests/005-attributes.phpt]
Test very large integers [tests/026-bigint.phpt]
Test collection types [tests/034-collections.phpt]
Boolean related tests [tests/040-set-additions.phpt]
=====================================================================

=====================================================================
TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :    0
Exts tested     :   46
---------------------------------------------------------------------

Number of tests :   36                36
Tests skipped   :    0 (  0.0%) --------
Tests warned    :    0 (  0.0%) (  0.0%)
Tests failed    :    4 ( 11.1%) ( 11.1%)
Expected fail   :    0 (  0.0%) (  0.0%)
Tests passed    :   32 ( 88.9%) ( 88.9%)
---------------------------------------------------------------------
Time taken      :   26 seconds
=====================================================================

=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
Test setting/getting attributes [tests/005-attributes.phpt]
Test very large integers [tests/026-bigint.phpt]
Test collection types [tests/034-collections.phpt]
Boolean related tests [tests/040-set-additions.phpt]
=====================================================================

================================================================================
/root/bixuehujin/YACassandraPDO/tests/005-attributes.phpt
================================================================================
string(6) "20.1.0"
bool(true)
bool(true)
OK
================================================================================
001+ string(6) "20.1.0"
001- string(7) "%d.%d.%d"
================================================================================

================================================================================
/root/bixuehujin/YACassandraPDO/tests/026-bigint.phpt
================================================================================
skip The test requires gmp extension
================================================================================
001+ skip The test requires gmp extension
001- 50000000000000000000000
002- OK
================================================================================

================================================================================
/root/bixuehujin/YACassandraPDO/tests/034-collections.phpt
================================================================================
stdClass Object
(
    [map_test_vc_int] => Array
        (
        )

)
stdClass Object
(
    [map_test_int_float] => Array
        (
        )

)
stdClass Object
(
    [set_test_vc] => Array
        (
        )

)
stdClass Object
(
    [set_test_int] => Array
        (
        )

)
Array
(
)
stdClass Object
(
    [set_test_int] => Array
        (
        )

)
================================================================================
005-             [key_1] => 1
006-             [key_2] => 2
007-             [looong_key_here] => 3
015-             [12] => 24.239999771118
016-             [15] => 30.299999237061
017-             [32] => 64.639999389648
025-             [0] => key1
026-             [1] => llowo
027-             [2] => madafuck
028-             [3] => yukulele
036-             [0] => 21
037-             [1] => 42
038-             [2] => 45
039-             [3] => 84
040-             [4] => 456
051-             [0] => 123
052-             [1] => 321
053-             [2] => 2456
================================================================================

================================================================================
/root/bixuehujin/YACassandraPDO/tests/040-set-additions.phpt
================================================================================
Array
(
)
================================================================================
003-     [0] => google.com
004-     [1] => yahoo.com
================================================================================

================================================================================
BUILD ENVIRONMENT
================================================================================
OS:
Linux - Linux dev 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02) x86_64

Autoconf:
autoconf (GNU Autoconf) 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David J. MacKenzie and Akim Demaille.

Bundled Libtool:
libtool (GNU libtool) 2.4.2
Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996

Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

System Libtool:
N/A
Compiler:
N/A
Bison:

Libraries:
    linux-vdso.so.1 (0x00007ffc2dfe7000)
    libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f5ad4270000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f5ad4055000)
    libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f5ad3de7000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5ad3ae6000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5ad38e2000)
    libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f5ad357b000)
    libssl.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f5ad331a000)
    libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f5ad2f1e000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5ad2b73000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5ad2956000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f5ad4b8e000)
    liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f5ad2733000)

================================================================================
PHPINFO
================================================================================
phpinfo()
PHP Version => 7.0.8-1~dotdeb+8.1

System => Linux dev 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02) x86_64
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => /etc/php/7.0/cli
Loaded Configuration File => /etc/php/7.0/cli/php.ini
Scan this dir for additional .ini files => /etc/php/7.0/cli/conf.d
Additional .ini files parsed => /etc/php/7.0/cli/conf.d/10-mysqlnd.ini,
/etc/php/7.0/cli/conf.d/10-opcache.ini,
/etc/php/7.0/cli/conf.d/10-pdo.ini,
/etc/php/7.0/cli/conf.d/15-xml.ini,
/etc/php/7.0/cli/conf.d/20-calendar.ini,
/etc/php/7.0/cli/conf.d/20-ctype.ini,
/etc/php/7.0/cli/conf.d/20-curl.ini,
/etc/php/7.0/cli/conf.d/20-dom.ini,
/etc/php/7.0/cli/conf.d/20-exif.ini,
/etc/php/7.0/cli/conf.d/20-fileinfo.ini,
/etc/php/7.0/cli/conf.d/20-ftp.ini,
/etc/php/7.0/cli/conf.d/20-gd.ini,
/etc/php/7.0/cli/conf.d/20-gettext.ini,
/etc/php/7.0/cli/conf.d/20-iconv.ini,
/etc/php/7.0/cli/conf.d/20-json.ini,
/etc/php/7.0/cli/conf.d/20-mcrypt.ini,
/etc/php/7.0/cli/conf.d/20-mysqli.ini,
/etc/php/7.0/cli/conf.d/20-pdo_mysql.ini,
/etc/php/7.0/cli/conf.d/20-phar.ini,
/etc/php/7.0/cli/conf.d/20-posix.ini,
/etc/php/7.0/cli/conf.d/20-readline.ini,
/etc/php/7.0/cli/conf.d/20-shmop.ini,
/etc/php/7.0/cli/conf.d/20-simplexml.ini,
/etc/php/7.0/cli/conf.d/20-sockets.ini,
/etc/php/7.0/cli/conf.d/20-sysvmsg.ini,
/etc/php/7.0/cli/conf.d/20-sysvsem.ini,
/etc/php/7.0/cli/conf.d/20-sysvshm.ini,
/etc/php/7.0/cli/conf.d/20-tokenizer.ini,
/etc/php/7.0/cli/conf.d/20-wddx.ini,
/etc/php/7.0/cli/conf.d/20-xmlreader.ini,
/etc/php/7.0/cli/conf.d/20-xmlwriter.ini,
/etc/php/7.0/cli/conf.d/20-xsl.ini

PHP API => 20151012
PHP Extension => 20151012
Zend Extension => 320151012
Zend Extension Build => API320151012,NTS
PHP Extension Build => API20151012,NTS
Debug Build => no
Thread Safety => disabled
Zend Signal Handling => disabled
Zend Memory Manager => enabled
Zend Multibyte Support => disabled
IPv6 Support => enabled
DTrace Support => enabled

Registered PHP Streams => https, ftps, compress.zlib, php, file, glob, data, http, ftp, phar
Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2
Registered Stream Filters => zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*, mcrypt.*, mdecrypt.*

This program makes use of the Zend Scripting Language Engine:
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.8-1~dotdeb+8.1, Copyright (c) 1999-2016, by Zend Technologies

 _______________________________________________________________________

Configuration

calendar

Calendar support => enabled

Core

PHP Version => 7.0.8-1~dotdeb+8.1

Directive => Local Value => Master Value
allow_url_fopen => On => On
allow_url_include => Off => Off
arg_separator.input => & => &
arg_separator.output => & => &
auto_append_file => no value => no value
auto_globals_jit => On => On
auto_prepend_file => no value => no value
browscap => no value => no value
default_charset => UTF-8 => UTF-8
default_mimetype => text/html => text/html
disable_classes => no value => no value
disable_functions => no value => no value
display_errors => STDERR => STDERR
display_startup_errors => Off => Off
doc_root => no value => no value
docref_ext => no value => no value
docref_root => no value => no value
enable_dl => Off => Off
enable_post_data_reading => On => On
error_append_string => no value => no value
error_log => no value => no value
error_prepend_string => no value => no value
error_reporting => 22527 => 22527
exit_on_timeout => Off => Off
expose_php => On => On
extension_dir => /usr/lib/php/20151012 => /usr/lib/php/20151012
file_uploads => On => On
highlight.comment => <font style="color: #FF8000">#FF8000</font> => <font style="color: #FF8000">#FF8000</font>
highlight.default => <font style="color: #0000BB">#0000BB</font> => <font style="color: #0000BB">#0000BB</font>
highlight.html => <font style="color: #000000">#000000</font> => <font style="color: #000000">#000000</font>
highlight.keyword => <font style="color: #007700">#007700</font> => <font style="color: #007700">#007700</font>
highlight.string => <font style="color: #DD0000">#DD0000</font> => <font style="color: #DD0000">#DD0000</font>
html_errors => Off => Off
ignore_repeated_errors => Off => Off
ignore_repeated_source => Off => Off
ignore_user_abort => Off => Off
implicit_flush => On => On
include_path => .:/usr/share/php => .:/usr/share/php
input_encoding => no value => no value
internal_encoding => no value => no value
log_errors => On => On
log_errors_max_len => 1024 => 1024
mail.add_x_header => On => On
mail.force_extra_parameters => no value => no value
mail.log => no value => no value
max_execution_time => 0 => 0
max_file_uploads => 20 => 20
max_input_nesting_level => 64 => 64
max_input_time => -1 => -1
max_input_vars => 1000 => 1000
memory_limit => -1 => -1
open_basedir => no value => no value
output_buffering => 0 => 0
output_encoding => no value => no value
output_handler => no value => no value
post_max_size => 8M => 8M
precision => 14 => 14
realpath_cache_size => 16K => 16K
realpath_cache_ttl => 120 => 120
register_argc_argv => On => On
report_memleaks => On => On
report_zend_debug => Off => Off
request_order => GP => GP
sendmail_from => no value => no value
sendmail_path => /usr/sbin/sendmail -t -i  => /usr/sbin/sendmail -t -i 
serialize_precision => 17 => 17
short_open_tag => Off => Off
SMTP => localhost => localhost
smtp_port => 25 => 25
sql.safe_mode => Off => Off
sys_temp_dir => no value => no value
track_errors => Off => Off
unserialize_callback_func => no value => no value
upload_max_filesize => 2M => 2M
upload_tmp_dir => no value => no value
user_dir => no value => no value
user_ini.cache_ttl => 300 => 300
user_ini.filename => .user.ini => .user.ini
variables_order => GPCS => GPCS
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
zend.assertions => -1 => -1
zend.detect_unicode => On => On
zend.enable_gc => On => On
zend.multibyte => Off => Off
zend.script_encoding => no value => no value

ctype

ctype functions => enabled

curl

cURL support => enabled
cURL Information => 7.38.0
Age => 3
Features
AsynchDNS => Yes
CharConv => No
Debug => No
GSS-Negotiate => No
IDN => Yes
IPv6 => Yes
krb4 => No
Largefile => Yes
libz => Yes
NTLM => Yes
NTLMWB => Yes
SPNEGO => Yes
SSL => Yes
SSPI => No
TLS-SRP => Yes
HTTP2 => No
GSSAPI => Yes
Protocols => dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtmp, rtsp, scp, sftp, smtp, smtps, telnet, tftp
Host => x86_64-pc-linux-gnu
SSL Version => OpenSSL/1.0.1t
ZLib Version => 1.2.8
libSSH Version => libssh2/1.4.3

date

date/time support => enabled
"Olson" Timezone Database Version => 2016.3
Timezone Database => internal
Default timezone => UTC

Directive => Local Value => Master Value
date.default_latitude => 31.7667 => 31.7667
date.default_longitude => 35.2333 => 35.2333
date.sunrise_zenith => 90.583333 => 90.583333
date.sunset_zenith => 90.583333 => 90.583333
date.timezone => no value => no value

dom

DOM/XML => enabled
DOM/XML API Version => 20031129
libxml Version => 2.9.1
HTML Support => enabled
XPath Support => enabled
XPointer Support => enabled
Schema Support => enabled
RelaxNG Support => enabled

exif

EXIF Support => enabled
EXIF Version => 1.4 $Id: 8bdc0c8f27c2c9dd1f7551f1f9fe3ab57a06a4b1 $
Supported EXIF Version => 0220
Supported filetypes => JPEG,TIFF

Directive => Local Value => Master Value
exif.decode_jis_intel => JIS => JIS
exif.decode_jis_motorola => JIS => JIS
exif.decode_unicode_intel => UCS-2LE => UCS-2LE
exif.decode_unicode_motorola => UCS-2BE => UCS-2BE
exif.encode_jis => no value => no value
exif.encode_unicode => ISO-8859-15 => ISO-8859-15

fileinfo

fileinfo support => enabled
version => 1.0.5
libmagic => 522

filter

Input Validation and Filtering => enabled
Revision => $Id: 2c8dde9d49ae877877eccaf496c8f5a733b4f1c2 $

Directive => Local Value => Master Value
filter.default => unsafe_raw => unsafe_raw
filter.default_flags => no value => no value

ftp

FTP support => enabled
FTPS support => enabled

gd

GD Support => enabled
GD Version => bundled (2.1.0 compatible)
FreeType Support => enabled
FreeType Linkage => with freetype
FreeType Version => 2.5.2
GIF Read Support => enabled
GIF Create Support => enabled
JPEG Support => enabled
libJPEG Version => 6b
PNG Support => enabled
libPNG Version => 1.2.50
WBMP Support => enabled
XPM Support => enabled
libXpm Version => 30411
XBM Support => enabled
WebP Support => enabled

Directive => Local Value => Master Value
gd.jpeg_ignore_warning => 0 => 0

gettext

GetText Support => enabled

hash

hash support => enabled
Hashing Engines => md2 md4 md5 sha1 sha224 sha256 sha384 sha512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b fnv132 fnv1a32 fnv164 fnv1a64 joaat haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5 

MHASH support => Enabled
MHASH API Version => Emulated Support

iconv

iconv support => enabled
iconv implementation => glibc
iconv library version => 2.19

Directive => Local Value => Master Value
iconv.input_encoding => no value => no value
iconv.internal_encoding => no value => no value
iconv.output_encoding => no value => no value

json

json support => enabled
json version => 1.4.0

libxml

libXML support => active
libXML Compiled Version => 2.9.1
libXML Loaded Version => 20901
libXML streams => enabled

mcrypt

mcrypt support => enabled
mcrypt_filter support => enabled
Version => 2.5.8
Api No => 20021217
Supported ciphers => cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes 
Supported modes => cbc cfb ctr ecb ncfb nofb ofb stream 

Directive => Local Value => Master Value
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

mysqli

MysqlI Support => enabled
Client API library version => mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $
Active Persistent Links => 0
Inactive Persistent Links => 0
Active Links => 0

Directive => Local Value => Master Value
mysqli.allow_local_infile => On => On
mysqli.allow_persistent => On => On
mysqli.default_host => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_pw => no value => no value
mysqli.default_socket => no value => no value
mysqli.default_user => no value => no value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.reconnect => Off => Off
mysqli.rollback_on_cached_plink => Off => Off

mysqlnd

mysqlnd => enabled
Version => mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $
Compression => supported
core SSL => supported
extended SSL => supported
Command buffer size => 4096
Read buffer size => 32768
Read timeout => 31536000
Collecting statistics => Yes
Collecting memory statistics => No
Tracing => n/a
Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_sha256_password
API Extensions => mysqli,pdo_mysql

mysqlnd statistics =>  
bytes_sent => 0
bytes_received => 0
packets_sent => 0
packets_received => 0
protocol_overhead_in => 0
protocol_overhead_out => 0
bytes_received_ok_packet => 0
bytes_received_eof_packet => 0
bytes_received_rset_header_packet => 0
bytes_received_rset_field_meta_packet => 0
bytes_received_rset_row_packet => 0
bytes_received_prepare_response_packet => 0
bytes_received_change_user_packet => 0
packets_sent_command => 0
packets_received_ok => 0
packets_received_eof => 0
packets_received_rset_header => 0
packets_received_rset_field_meta => 0
packets_received_rset_row => 0
packets_received_prepare_response => 0
packets_received_change_user => 0
result_set_queries => 0
non_result_set_queries => 0
no_index_used => 0
bad_index_used => 0
slow_queries => 0
buffered_sets => 0
unbuffered_sets => 0
ps_buffered_sets => 0
ps_unbuffered_sets => 0
flushed_normal_sets => 0
flushed_ps_sets => 0
ps_prepared_never_executed => 0
ps_prepared_once_executed => 0
rows_fetched_from_server_normal => 0
rows_fetched_from_server_ps => 0
rows_buffered_from_client_normal => 0
rows_buffered_from_client_ps => 0
rows_fetched_from_client_normal_buffered => 0
rows_fetched_from_client_normal_unbuffered => 0
rows_fetched_from_client_ps_buffered => 0
rows_fetched_from_client_ps_unbuffered => 0
rows_fetched_from_client_ps_cursor => 0
rows_affected_normal => 0
rows_affected_ps => 0
rows_skipped_normal => 0
rows_skipped_ps => 0
copy_on_write_saved => 0
copy_on_write_performed => 0
command_buffer_too_small => 0
connect_success => 0
connect_failure => 0
connection_reused => 0
reconnect => 0
pconnect_success => 0
active_connections => 0
active_persistent_connections => 0
explicit_close => 0
implicit_close => 0
disconnect_close => 0
in_middle_of_command_close => 0
explicit_free_result => 0
implicit_free_result => 0
explicit_stmt_close => 0
implicit_stmt_close => 0
mem_emalloc_count => 0
mem_emalloc_amount => 0
mem_ecalloc_count => 0
mem_ecalloc_amount => 0
mem_erealloc_count => 0
mem_erealloc_amount => 0
mem_efree_count => 0
mem_efree_amount => 0
mem_malloc_count => 0
mem_malloc_amount => 0
mem_calloc_count => 0
mem_calloc_amount => 0
mem_realloc_count => 0
mem_realloc_amount => 0
mem_free_count => 0
mem_free_amount => 0
mem_estrndup_count => 0
mem_strndup_count => 0
mem_estndup_count => 0
mem_strdup_count => 0
proto_text_fetched_null => 0
proto_text_fetched_bit => 0
proto_text_fetched_tinyint => 0
proto_text_fetched_short => 0
proto_text_fetched_int24 => 0
proto_text_fetched_int => 0
proto_text_fetched_bigint => 0
proto_text_fetched_decimal => 0
proto_text_fetched_float => 0
proto_text_fetched_double => 0
proto_text_fetched_date => 0
proto_text_fetched_year => 0
proto_text_fetched_time => 0
proto_text_fetched_datetime => 0
proto_text_fetched_timestamp => 0
proto_text_fetched_string => 0
proto_text_fetched_blob => 0
proto_text_fetched_enum => 0
proto_text_fetched_set => 0
proto_text_fetched_geometry => 0
proto_text_fetched_other => 0
proto_binary_fetched_null => 0
proto_binary_fetched_bit => 0
proto_binary_fetched_tinyint => 0
proto_binary_fetched_short => 0
proto_binary_fetched_int24 => 0
proto_binary_fetched_int => 0
proto_binary_fetched_bigint => 0
proto_binary_fetched_decimal => 0
proto_binary_fetched_float => 0
proto_binary_fetched_double => 0
proto_binary_fetched_date => 0
proto_binary_fetched_year => 0
proto_binary_fetched_time => 0
proto_binary_fetched_datetime => 0
proto_binary_fetched_timestamp => 0
proto_binary_fetched_string => 0
proto_binary_fetched_json => 0
proto_binary_fetched_blob => 0
proto_binary_fetched_enum => 0
proto_binary_fetched_set => 0
proto_binary_fetched_geometry => 0
proto_binary_fetched_other => 0
init_command_executed_count => 0
init_command_failed_count => 0
com_quit => 0
com_init_db => 0
com_query => 0
com_field_list => 0
com_create_db => 0
com_drop_db => 0
com_refresh => 0
com_shutdown => 0
com_statistics => 0
com_process_info => 0
com_connect => 0
com_process_kill => 0
com_debug => 0
com_ping => 0
com_time => 0
com_delayed_insert => 0
com_change_user => 0
com_binlog_dump => 0
com_table_dump => 0
com_connect_out => 0
com_register_slave => 0
com_stmt_prepare => 0
com_stmt_execute => 0
com_stmt_send_long_data => 0
com_stmt_close => 0
com_stmt_reset => 0
com_stmt_set_option => 0
com_stmt_fetch => 0
com_deamon => 0
bytes_received_real_data_normal => 0
bytes_received_real_data_ps => 0

openssl

OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.0.1t  3 May 2016
OpenSSL Header Version => OpenSSL 1.0.1t  3 May 2016
Openssl default config => /usr/lib/ssl/openssl.cnf

Directive => Local Value => Master Value
openssl.cafile => no value => no value
openssl.capath => no value => no value

pcntl

pcntl support => enabled

pcre

PCRE (Perl Compatible Regular Expressions) Support => enabled
PCRE Library Version => 8.35 2014-04-04
PCRE JIT Support => enabled

Directive => Local Value => Master Value
pcre.backtrack_limit => 1000000 => 1000000
pcre.jit => 1 => 1
pcre.recursion_limit => 100000 => 100000

PDO

PDO support => enabled
PDO drivers => cassandra, mysql

pdo_cassandra

PDO Driver for Cassandra => enabled
PDO Driver for Cassandra version => 0.6.0

pdo_mysql

PDO Driver for MySQL => enabled
Client API version => mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $

Directive => Local Value => Master Value
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock

Phar

Phar: PHP Archive support => enabled
Phar EXT version => 2.0.2
Phar API version => 1.1.1
SVN revision => $Id: 860f5132d446a7b24c2bbf050ce6949381ea8db5 $
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
gzip compression => enabled
bzip2 compression => disabled (install pecl/bz2)
Native OpenSSL support => enabled

Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.
Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle.
Directive => Local Value => Master Value
phar.cache_list => no value => no value
phar.readonly => On => On
phar.require_hash => On => On

posix

Revision => $Id: 771e31632526e20243748d73c150d8977fff1781 $

readline

Readline Support => enabled
Readline library => EditLine wrapper

Directive => Local Value => Master Value
cli.pager => no value => no value
cli.prompt => \b \>  => \b \> 

Reflection

Reflection => enabled
Version => $Id: 4c3f6240f4111de768fd771f35e2291d27631432 $

session

Session Support => enabled
Registered save handlers => files user 
Registered serializer handlers => php_serialize php php_binary wddx 

Directive => Local Value => Master Value
session.auto_start => Off => Off
session.cache_expire => 180 => 180
session.cache_limiter => nocache => nocache
session.cookie_domain => no value => no value
session.cookie_httponly => Off => Off
session.cookie_lifetime => 0 => 0
session.cookie_path => / => /
session.cookie_secure => Off => Off
session.entropy_file => /dev/urandom => /dev/urandom
session.entropy_length => 32 => 32
session.gc_divisor => 1000 => 1000
session.gc_maxlifetime => 1440 => 1440
session.gc_probability => 0 => 0
session.hash_bits_per_character => 5 => 5
session.hash_function => 0 => 0
session.lazy_write => On => On
session.name => PHPSESSID => PHPSESSID
session.referer_check => no value => no value
session.save_handler => files => files
session.save_path => /var/lib/php/sessions => /var/lib/php/sessions
session.serialize_handler => php => php
session.upload_progress.cleanup => On => On
session.upload_progress.enabled => On => On
session.upload_progress.freq => 1% => 1%
session.upload_progress.min_freq => 1 => 1
session.upload_progress.name => PHP_SESSION_UPLOAD_PROGRESS => PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix => upload_progress_ => upload_progress_
session.use_cookies => On => On
session.use_only_cookies => On => On
session.use_strict_mode => Off => Off
session.use_trans_sid => 0 => 0

shmop

shmop support => enabled

SimpleXML

Simplexml support => enabled
Revision => $Id: 8a1ef4915f2024925ab80334b809c691c2cc0196 $
Schema support => enabled

sockets

Sockets Support => enabled

SPL

SPL support => enabled
Interfaces => Countable, OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException

standard

Dynamic Library Support => enabled
Path to sendmail => /usr/sbin/sendmail -t -i 

Directive => Local Value => Master Value
assert.active => 1 => 1
assert.bail => 0 => 0
assert.callback => no value => no value
assert.exception => 0 => 0
assert.quiet_eval => 0 => 0
assert.warning => 1 => 1
auto_detect_line_endings => 0 => 0
default_socket_timeout => 60 => 60
from => no value => no value
url_rewriter.tags => a=href,area=href,frame=src,input=src,form=fakeentry => a=href,area=href,frame=src,input=src,form=fakeentry
user_agent => no value => no value

sysvmsg

sysvmsg support => enabled
Revision => $Id: b291daed03ee2339361df6b8cd4d9f5eb4c76387 $

sysvsem

Version => 7.0.8-1~dotdeb+8.1

sysvshm

Version => 7.0.8-1~dotdeb+8.1

tokenizer

Tokenizer Support => enabled

wddx

WDDX Support => enabled
WDDX Session Serializer => enabled

xml

XML Support => active
XML Namespace Support => active
libxml2 Version => 2.9.1

xmlreader

XMLReader => enabled

xmlwriter

XMLWriter => enabled

xsl

XSL => enabled
libxslt Version => 1.1.28
libxslt compiled against libxml Version => 2.9.1
EXSLT => enabled
libexslt Version => 1.1.28

Zend OPcache

Opcode Caching => Disabled
Optimization => Disabled
SHM Cache => Enabled
File Cache => Disabled
Startup Failed => Opcode Caching is disabled for CLI

Directive => Local Value => Master Value
opcache.blacklist_filename => no value => no value
opcache.consistency_checks => 0 => 0
opcache.dups_fix => Off => Off
opcache.enable => On => On
opcache.enable_cli => Off => Off
opcache.enable_file_override => Off => Off
opcache.error_log => no value => no value
opcache.fast_shutdown => 0 => 0
opcache.file_cache => no value => no value
opcache.file_cache_consistency_checks => 1 => 1
opcache.file_cache_only => 0 => 0
opcache.file_update_protection => 2 => 2
opcache.force_restart_timeout => 180 => 180
opcache.huge_code_pages => Off => Off
opcache.inherited_hack => On => On
opcache.interned_strings_buffer => 4 => 4
opcache.lockfile_path => /tmp => /tmp
opcache.log_verbosity_level => 1 => 1
opcache.max_accelerated_files => 2000 => 2000
opcache.max_file_size => 0 => 0
opcache.max_wasted_percentage => 5 => 5
opcache.memory_consumption => 64 => 64
opcache.optimization_level => 0x7FFFBFFF => 0x7FFFBFFF
opcache.preferred_memory_model => no value => no value
opcache.protect_memory => 0 => 0
opcache.restrict_api => no value => no value
opcache.revalidate_freq => 2 => 2
opcache.revalidate_path => Off => Off
opcache.save_comments => 1 => 1
opcache.use_cwd => On => On
opcache.validate_timestamps => On => On

zlib

ZLib Support => enabled
Stream Wrapper => compress.zlib://
Stream Filter => zlib.inflate, zlib.deflate
Compiled Version => 1.2.8
Linked Version => 1.2.8

Directive => Local Value => Master Value
zlib.output_compression => Off => Off
zlib.output_compression_level => -1 => -1
zlib.output_handler => no value => no value

Additional Modules

Module Name

Environment

Variable => Value
TMUX => /tmp/tmux-0/default,3344,0
MAIL => /var/mail/root
SSH_CLIENT => deleted
USER => root
SHLVL => 2
OLDPWD => /root/bixuehujin/YACassandraPDO/modules
HOME => /root
SSH_TTY => deleted
LOGNAME => root
TEST_PHP_EXECUTABLE => /usr/bin/php
_ => /usr/bin/php
TERM => screen
PATH => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANG => en_US
SSH_AUTH_SOCK => deleted
SHELL => /bin/bash
PWD => /root/bixuehujin/YACassandraPDO
SSH_CONNECTION => deleted
TMUX_PANE => %3

PHP Variables

Variable => Value
$_SERVER['TMUX'] => /tmp/tmux-0/default,3344,0
$_SERVER['MAIL'] => /var/mail/root
$_SERVER['SSH_CLIENT'] => deleted
$_SERVER['USER'] => root
$_SERVER['SHLVL'] => 2
$_SERVER['OLDPWD'] => /root/bixuehujin/YACassandraPDO/modules
$_SERVER['HOME'] => /root
$_SERVER['SSH_TTY'] => deleted
$_SERVER['LOGNAME'] => root
$_SERVER['TEST_PHP_EXECUTABLE'] => /usr/bin/php
$_SERVER['_'] => /usr/bin/php
$_SERVER['TERM'] => screen
$_SERVER['PATH'] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$_SERVER['LANG'] => en_US
$_SERVER['SSH_AUTH_SOCK'] => deleted
$_SERVER['SHELL'] => /bin/bash
$_SERVER['PWD'] => /root/bixuehujin/YACassandraPDO
$_SERVER['SSH_CONNECTION'] => deleted
$_SERVER['TMUX_PANE'] => %3
$_SERVER['PHP_SELF'] => 
$_SERVER['SCRIPT_NAME'] => 
$_SERVER['SCRIPT_FILENAME'] => 
$_SERVER['PATH_TRANSLATED'] => 
$_SERVER['DOCUMENT_ROOT'] => 
$_SERVER['REQUEST_TIME_FLOAT'] => 1468507045.8167
$_SERVER['REQUEST_TIME'] => 1468507045
$_SERVER['argv'] => Array
(
)

$_SERVER['argc'] => 0

PHP License
This program is free software; you can redistribute it and/or modify
it under the terms of the PHP License as published by the PHP Group
and included in the distribution in the file:  LICENSE

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any
questions about PHP licensing, please contact license@php.net.

I see that on travis, the build was done on Ubuntu 16.04 LTS. I will spin up a VM or just reformat my dev system and see if it makes any difference. At this point, I think I did something wrong with php pdo (by doing a soft link on ./configure ?) or dotdeb's php 7 is drastically different from Ubuntu 16.04's. It's very strange to have a partially working driver with 4 failed tests and 32 passed tests.

[1] https://code.google.com/archive/a/apache-extras.org/p/cassandra-pdo

simonhf commented 8 years ago

Thanks for the detailed info. I'm not sure what the problem is but my money would be on the thrift stuff causing the problem. And IMO that could be something that affects some tests but not others? Try to use exactly the same version of thrift that travis is using. And after changing the thrift version, recompile all the source code from scratch.

blackdotsh commented 8 years ago

Simon,

Your comment prompted me to look at all the version differences of every piece of software involved between my dev server and the travis build, which led me to the issue: I downloaded the latest version of Cassandra version 3.x instead of using the older 2.xx. I use 2.xx on my production servers and on the dev server, I just upgraded everything to the latest version. Downgrading or starting with Cassandra version 2.xx passes all tests.

The following workarounds for the errors during build time still work for me

Error on ./configure: checking for PDO includes... configure: error: Cannot find php_pdo_driver.h fixed by doing ln -s /usr/include/php/20151012/ext ext

YACassandraPDO/gen-cpp/Cassandra.h:10:39: fatal error: thrift/TDispatchProcessor.h: No such file or directory fixed by doing apt-get install thrift-compiler=0.6.0-2~riptano1 so an older version of thrift is used instead of version 0.9

Hopefully someone will find this information useful :)

Thanks.

simonhf commented 8 years ago

Glad to be able to prompt you in the right direction and good to know what the issue is!

simonhf commented 7 years ago

BTW the old SSL patch has been merged into [1] with all the tests passing BUT hasn't been properly tested yet with production code... so try it and report back here? :-)

https://github.com/bixuehujin/YACassandraPDO/tree/php7