Open arjunnikhil03 opened 8 years ago
Hello, PHP7 is not supported by YACassandraPDO.
Check the new datastax driver: https://github.com/datastax/php-driver
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.
I too would like YACassandraPDO to support PHP7 because I also cannot use the Datastax software for various reasons... any chance of adding support?
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
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
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.
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
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.
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 :-)
I wish I knew that a few days ago ^^ Sandro, could you add this link to the README page of the project?
Done.
Thanks guys!
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).
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.
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.
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?
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.
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
Thanks Simon. I'll see what I did wrong.
Please keep me in the loop.
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
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.
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.
Glad to be able to prompt you in the right direction and good to know what the issue is!
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? :-)
/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