krakjoe / pthreads

Threading for PHP - Share Nothing, Do Everything :)
Other
3.47k stars 501 forks source link

502 when using with PHP5-FPM #293

Closed mhriemers closed 10 years ago

mhriemers commented 10 years ago

I'm getting a 502 error when I try to load a page that uses threads.

root@php:/var/www/public# nginx -v
nginx version: nginx/1.1.19
root@php:/var/www/public# php5-fpm -v
PHP 5.5.10-1+deb.sury.org~precise+1 (fpm-fcgi) (built: Apr  8 2014 10:02:55) (DEBUG)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

phpinfo()

pthreads

Version => 2.0.4

error.log (Nginx)

2014/04/08 17:19:51 [error] 1567#0: *50 upstream sent invalid status "0" while reading response header from upstream, client: xxxxxxx, server: , request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "xxxxxxx"
2014/04/08 17:20:15 [error] 1567#0: *50 upstream sent invalid status "0" while reading response header from upstream, client: xxxxxxx, server: , request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "xxxxxxx"
2014/04/08 17:20:20 [error] 1567#0: *50 upstream sent invalid status "0" while reading response header from upstream, client: xxxxxxx, server: , request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "xxxxxxx"
2014/04/08 17:20:25 [error] 1567#0: *50 upstream sent invalid status "0" while reading response header from upstream, client: xxxxxxx, server: , request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "xxxxxxx"
2014/04/08 17:20:33 [error] 1567#0: *50 upstream sent invalid status "0" while reading response header from upstream, client: xxxxxxx, server: , request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "xxxxxxx"
2014/04/08 17:20:52 [error] 1567#0: *50 upstream sent invalid status "0" while reading response header from upstream, client: xxxxxxx, server: , request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "xxxxxxx"
2014/04/08 17:34:55 [error] 3169#0: *1 upstream sent invalid status "0" while reading response header from upstream, client: xxxxxxx, server: , request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "xxxxxxx"
chibisuke commented 10 years ago

That usually means that the worker segfaulted. try one of the examples. If it still doesn't work try command line PHP using the same settings

mhriemers commented 10 years ago

The command line works. The FPM one doesn't.

mhriemers commented 10 years ago

This is the code I used for the test:

<?php

class Test extends Thread {

    public function run() {
        sleep(1);
    }

}

$threads = [];

foreach (range(1, 30) as $value) {
    $thread = new Test;
    $thread->start();
    $threads[] = $thread;
}

foreach ($threads as $value) {
    $value->join();
}

echo 'Test finished!';
mhriemers commented 10 years ago

Nginx configuration:

user www-data;
worker_processes 8;
pid /var/run/nginx.pid;

events {
    worker_connections 4000;
    multi_accept on;
}

http {

    proxy_connect_timeout  600s;
    proxy_send_timeout  600s;
    proxy_read_timeout  600s;
    fastcgi_send_timeout 600s;
    fastcgi_read_timeout 600s;

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    server_tokens on;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # Logging Settings
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;
    gzip_disable "msie6";

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}
mhriemers commented 10 years ago

Site config for Nginx:

server {
    listen   80 default_server;

    root /var/www/public/;
    index index.php index.html index.htm;

    location / {
         try_files $uri $uri/ /index.php$is_args$args;
    }

    # pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.sock
    location ~ \.php$ {
            try_files $uri /index.php =404;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }
}
krakjoe commented 10 years ago

I don't have an fpm setup, can you provide me access to the machine where it occurs ?? If you can do that, I can send you my public key and I can login over the next couple of days and have a look, if not I'll have to wait until the weekend when I'll have time to get a vm setup close to yours to test myself ...

Sorry about the delay, super busy ...

krakjoe commented 10 years ago

Can you confirm that it is still there with head, I think affected by bug found in #295 ?

mhriemers commented 10 years ago

Could you create a new pecl version then? I installed pthreads using pecl...

krakjoe commented 10 years ago

Ah, well, what you can do is:

git clone https://github.com/krakjoe/pthreads
cd pthreads
phpize
./configure --with-php-config=/path/to/php-config
make
make install

Would be better if we could do the next release with this solved ...

mhriemers commented 10 years ago

Do I have to remove pthreads first using pecl?

mhriemers commented 10 years ago

Updated to the current master branch but still having the same issue.

2014/04/11 15:57:27 [error] 14523#0: *1 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: xxxxxx, server: , request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "xxxxxx"
mhriemers commented 10 years ago

I did some tests and it looks like it is Nginx or PHP-FPM that is causing the problem. When I try using the built in standard php server it works like a charm but with nginx it doesn't. Maybe someone with some more Nginx knowledge can look into this?

krakjoe commented 10 years ago

I have an nginx+fpm setup going and am able to reproduce, I will look over the weekend, it's nothing obvious ...

mhriemers commented 10 years ago

Awesome. Take it easy. Seems like you've got a lot on your mind atm.

septembermd commented 10 years ago

I am expecting the same issue

mhriemers commented 10 years ago

Any updates?

krakjoe commented 10 years ago

I'm super busy, haven't looked further yet, sorry ... I will get to it ...

mhriemers commented 10 years ago

Take it easy.

mhriemers commented 10 years ago

I have to switch to java for the time being. I'll keep my vm with the bug running for future reference.

septembermd commented 10 years ago

Hey guys, not rush on you, but did you have a chance to look at this issue?

iwankgb commented 10 years ago

I might be facing the very same issue.

See the code at: https://github.com/iwankgb/threads/blob/5e3f0a93dd2bdbc98f3bccff5f5641a5980c7524/web/index.php

See the backtrace:

#0  pthreads_prepared_entry (thread=0x35e4b90, candidate=0x1f00000020, tsrm_ls=0x7f5e000008c0)
    at /home/maciek/projects/pthreads/src/prepare.c:348
#1  0x00007f5e0549ec87 in pthreads_stack_next (thread=0x35e4b90, this_ptr=0x7f5e001b1480, tsrm_ls=0x7f5e000008c0)
    at /home/maciek/projects/pthreads/src/object.c:264
#2  0x00007f5e054a0e4c in pthreads_routine (arg=0x35e4b90) at /home/maciek/projects/pthreads/src/object.c:1026
#3  0x00007f5e0bb94e9a in start_thread (arg=0x7f5e04a43700) at pthread_create.c:308
#4  0x00007f5e0b8c13fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Script works from command line so it seems to be fpm-related indeed.

PHP version:

root@Skiing-Yak:/home/maciek/projects/threads/core# /opt/php-5.5/bin/php -v
PHP 5.5.11 (cli) (built: May 14 2014 20:55:52) (DEBUG)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Xdebug v2.2.4, Copyright (c) 2002-2014, by Derick Rethans

pthreads version: e1f36dc2685aa4d5cc76b7ce5c1bdd9fbc900c11

OS: Ubuntu 12.04.

It looks that commenting out Pool::submit() call prevents segfault.

yunfengmeng commented 10 years ago

hello? krakjoe,i have the same problem,env:nginx + php in cli,it is ok,but browse in web,return 502

chibisuke commented 10 years ago

I'm unable to reproduce this on my server using master. So either this is fixed, or its a problem not occuring on by system. (FreeBSD).

Otherwise I'd have tried to have a look at it.

Is there anything in your php-error log or nginx error log?

iwankgb commented 10 years ago

@chibisuke:

yunfengmeng commented 10 years ago

this is the error info:[error] 12895#0: *4204 upstream sent unexpected FastCGI record: 3 while reading response header from upstream my system is centos6.5 x86_64

yunfengmeng commented 10 years ago

PHP report Without any error

ideamean commented 10 years ago

I am get the same error: nginx logs: 2014/05/24 22:42:54 [error] 2218#0: 1 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 192.168.1.103, server: localhost, request: "GET /htdocs/pthreads/join.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.1.104", referrer: "http://192.168.1.104/htdocs/pthreads/" 2014/05/24 22:44:49 [error] 2218#0: 4 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 192.168.1.103, server: localhost, request: "GET /htdocs/pthreads/join.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.1.104", referrer: "http://192.168.1.104/htdocs/pthreads/" But in php cli it works fine? How to fix?

zerozh commented 10 years ago

Perhaps that's a php bug. see https://bugs.php.net/bug.php?id=66597

iwankgb commented 10 years ago

@zerozh - opcache is disabled on my machine and problem is still there.

iwankgb commented 10 years ago

Problem occurs on current master (d6611480fec616e9c97cf6986ffe02c8fe14298c) too.

krakjoe commented 10 years ago

I'm not ignoring it, as soon as I have the time to look in detail I will look in detail, I can confirm is a bug in pthreads. Sorry about the delay ...

sanket-mm commented 10 years ago

Hi I spent a lot of time getting php to work in zts mode with our current app and at the end i got disappointed to see that pthreads doesnt work with fpm.

Can somebody confirm whether this is a new bug or whether pthreads has never worked with php-fpm?

Regards Sanket Gupta

chibisuke commented 10 years ago

pthread does work with FPM just fine on my server, it just seems there is somewhere a bug related to certain use cases. that - together with FPM causes problems.

Try reducing your use case until the error is gone, or try building a new testcase that can reproduce the error from scratch.

The simpler the reproduction code, the quicker someone can try to tackle this down. Due to the Symfony requirement in the previously posted testcase, which is pretty big its hard to overlook the flow and see where the problem is really comming from. Ideally you have just a single page of code, with no external dependencies that reproduces the problem.

sanket-mm commented 10 years ago

Hi My test case is pretty simple. Infact i was just trying to use some sample/example code available on pthread website. The code works on command line but throws a segmentation fault when accessed through a browser. here is the code Snippet 1 <?php

class Test extends Thread { public $response; public function __construct($id){ $this->id = $id; } public function run() { sleep($this->id ); $this->response=time(); }

}

$threads = array();

for ($i=0;$i<2;$i++) { $thread = new Test($i); $thread->start(); $threads[] = $thread; }

foreach ($threads as $value) { $value->join(); echo $value->response."\n"; }

echo 'Test finished!';

Here is the output on command line php thread.php

1404631682 1404631683 1404631684 1404631685 1404631686 1404631687 1404631688 1404631689 1404631690 1404631691 Test finished!

Snippet 2 <?php /**

/* you might want to set this to 100 before running if you're running on older ( dual core ) hardware / / never, ever, ever, ever create 1000 threads in a PHP application, if you think there's a need to create that many threads: you are doing it wrong / / the number is high to show that manipulating a stackable as an array in this way is completely safe and reliable / $hammers = 10; /* $hammers threads are about to edit this array / /

/*

Output php stack.php

StackableArray Object ( [0] => h ) GOT 10 T's StackableArray Object ( [0] => h [1] => 8 [2] => 10 [3] => 1 [4] => 5 [5] => 4 [6] => 8 [7] => 1 [8] => 1 [9] => 2 [10] => 7 )

Both these files fail to work when i call them through nginx/php-fpm setup. I get a 502 error and php-fpm says a child has exited.

A dump of my phpinfo output is attached

PHP Logo PHP Version 5.3.28

System Linux ip-10-144-182-112 3.2.21-1.32.6.amzn1.x86_64 #1 SMP Sat Jun 23 02:32:15 UTC 2012 x86_64 Build Date Jul 5 2014 07:40:50 Configure Command './configure' '--prefix=/opt/php/5.3.28/zts/no-debug' '--with-config-file-scan-dir=/opt/php/5.3.28/zts/no-debug/modules.d' '--with-config-file-path=/opt/php/5.3.28/zts/no-debug' '--bindir=/opt/php/5.3.28/zts/no-debug/bin' '--sbindir=/opt/php/5.3.28/zts/no-debug/bin' '--disable-all' '--enable-libxml' '--enable-dom=static' '--enable-soap=static' '--enable-xml' '--enable-phar' '--enable-mbstring' '--enable-json' '--enable-pdo' '--enable-zip' '--enable-fileinfo' '--enable-session' '--enable-simplexml' '--enable-opcache' '--enable-ctype' '--enable-gd-native-ttf' '--enable-tokenizer' '--enable-hash' '--enable-filter' '--enable-fpm' '--with-zlib' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-curl' '--with-gd' '--with-jpeg-dir=/usr' '--with-mcrypt' '--with-freetype-dir=/usr' '--with-xpm-dir=/usr/lib64' '--with-vpx-dir=/usr' '--with-iconv-dir=/usr' '--with-openssl' '--with-pear' '--with-libdir=lib64' '--enable-maintainer-zts' '--disable-debug' Server API FPM/FastCGI Virtual Directory Support enabled Configuration File (php.ini) Path /opt/php/5.3.28/zts/no-debug Loaded Configuration File /etc/php.ini Scan this dir for additional .ini files /opt/php/5.3.28/zts/no-debug/modules.d Additional .ini files parsed /opt/php/5.3.28/zts/no-debug/modules.d/apc.ini, /opt/php/5.3.28/zts/no-debug/modules.d/curl.ini, /opt/php/5.3.28/zts/no-debug/modules.d/fileinfo.ini, /opt/php/5.3.28/zts/no-debug/modules.d/gd.ini, /opt/php/5.3.28/zts/no-debug/modules.d/geoip.ini, /opt/php/5.3.28/zts/no-debug/modules.d/igbinary.ini, /opt/php/5.3.28/zts/no-debug/modules.d/json.ini, /opt/php/5.3.28/zts/no-debug/modules.d/mcrypt.ini, /opt/php/5.3.28/zts/no-debug/modules.d/memcached.ini, /opt/php/5.3.28/zts/no-debug/modules.d/mysql.ini, /opt/php/5.3.28/zts/no-debug/modules.d/mysqli.ini, /opt/php/5.3.28/zts/no-debug/modules.d/pdo.ini, /opt/php/5.3.28/zts/no-debug/modules.d/pdo_mysql.ini, /opt/php/5.3.28/zts/no-debug/modules.d/pdosqlite.ini, /opt/php/5.3.28/zts/no-debug/modules.d/phar.ini, /opt/php/5.3.28/zts/no-debug/modules.d/pthreads.ini, /opt/php/5.3.28/zts/no-debug/modules.d/redis.ini, /opt/php/5.3.28/zts/no-debug/modules.d/sqlite3.ini, /opt/php/5.3.28/zts/no-debug/modules.d/xdebug.ini, /opt/php/5.3.28/zts/no-debug/modules.d/zip.ini PHP API 20090626 PHP Extension 20090626 Zend Extension 220090626 Zend Extension Build API220090626,TS PHP Extension Build API20090626,TS Debug Build no Thread Safety enabled Zend Memory Manager enabled Zend Multibyte Support disabled IPv6 Support enabled Registered PHP Streams https, ftps, compress.zlib, php, file, glob, data, http, ftp, zip, phar Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, sslv2, tls Registered Stream Filters zlib., mcrypt., mdecrypt., string.rot13, string.toupper, string.tolower, string.striptags, convert., consumed, dechunk

Zend logo This program makes use of the Zend Scripting Language Engine: Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

PHP Credits Configuration apc APC Support enabled Version 3.1.13 APC Debugging Disabled MMAP Support Enabled MMAP File Mask no value Locking type pthread read/write Locks Serialization Support php, igbinary Revision $Revision: 327136 $ Build Date Jul 5 2014 12:34:28

Directive Local Value Master Value apc.cache_by_default On On apc.canonicalize On On apc.coredump_unmap Off Off apc.enable_cli Off Off apc.enabled On On apc.file_md5 Off Off apc.file_update_protection 2 2 apc.filters no value no value apc.gc_ttl 3600 3600 apc.include_once_override Off Off apc.lazy_classes Off Off apc.lazy_functions Off Off apc.max_file_size 1M 1M apc.mmap_file_mask no value no value apc.num_files_hint 1000 1000 apc.preload_path no value no value apc.report_autofilter Off Off apc.rfc1867 Off Off apc.rfc1867_freq 0 0 apc.rfc1867_name APC_UPLOAD_PROGRESS APC_UPLOAD_PROGRESS apc.rfc1867prefix upload upload_ apc.rfc1867_ttl 3600 3600 apc.serializer default default apc.shm_segments 1 1 apc.shm_size 500M 500M apc.slam_defense On On apc.stat On On apc.stat_ctime On On apc.ttl 0 0 apc.use_request_time On On apc.user_entries_hint 4096 4096 apc.user_ttl 0 0 apc.write_lock On On

cgi-fcgi php-fpm active

Directive Local Value Master Value cgi.discard_path 0 0 cgi.fix_pathinfo 1 1 cgi.force_redirect 1 1 cgi.nph 0 0 cgi.redirect_status_env no value no value cgi.rfc2616_headers 0 0 fastcgi.error_header no value no value fastcgi.logging 1 1 fpm.config no value no value

Core PHP Version 5.3.28

Directive Local Value Master Value allow_call_time_pass_reference Off Off allow_url_fopen On On allow_url_include Off Off always_populate_raw_post_data Off Off arg_separator.input ;& ;& arg_separator.output & & asp_tags Off Off 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 no value no value default_mimetype text/html text/html define_syslog_variables Off Off disable_classes no value no value disable_functions no value no value display_errors Off Off 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 error_append_string no value no value error_log no value no value error_prepend_string no value no value error_reporting 1 1 exit_on_timeout Off Off expose_php On On extension_dir /opt/php/5.3.28/zts/no-debug/lib/php/extensions/no-debug-zts-20090626 /opt/php/5.3.28/zts/no-debug/lib/php/extensions/no-debug-zts-20090626 file_uploads On On highlight.bg #FFFFFF #FFFFFF highlight.comment #FF8000 #FF8000 highlight.default #0000BB #0000BB highlight.html #000000 #000000 highlight.keyword #007700 #007700 highlight.string #DD0000 #DD0000 html_errors Off Off ignore_repeated_errors Off Off ignore_repeated_source Off Off ignore_user_abort Off Off implicit_flush Off Off include_path .:/opt/php/5.3.28/zts/no-debug/lib/php .:/opt/php/5.3.28/zts/no-debug/lib/php log_errors On On log_errors_max_len 1024 1024 magic_quotes_gpc Off Off magic_quotes_runtime Off Off magic_quotes_sybase Off Off mail.add_x_header On On mail.force_extra_parameters no value no value mail.log no value no value max_execution_time 30 30 max_file_uploads 20 20 max_input_nesting_level 64 64 max_input_time 60 60 max_input_vars 1000 1000 memory_limit 128M 128M open_basedir no value no value output_buffering 4096 4096 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 Off Off register_globals Off Off register_long_arrays Off Off report_memleaks On On report_zend_debug On On request_order GP GP safe_mode Off Off safe_mode_exec_dir no value no value safe_mode_gid Off Off safe_mode_include_dir no value no value sendmail_from no value no value sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i serialize_precision 100 100 short_open_tag On On SMTP localhost localhost smtp_port 25 25 sql.safe_mode Off Off 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 y2k_compliance On On zend.enable_gc On On

ctype ctype functions enabled

curl cURL support enabled cURL Information 7.36.0 Age 3 Features AsynchDNS Yes Debug No GSS-Negotiate Yes IDN Yes IPv6 Yes Largefile Yes NTLM Yes SPNEGO No SSL Yes SSPI No krb4 No libz Yes CharConv No Protocols dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, scp, sftp, smtp, smtps, telnet, tftp Host x86_64-redhat-linux-gnu SSL Version NSS/3.16 Basic ECC ZLib Version 1.2.7 libSSH Version libssh2/1.4.2

date date/time support enabled "Olson" Timezone Database Version 2013.3 Timezone Database internal Default timezone GMT

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 GMT GMT

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

ereg Regex Library Bundled library enabled

fileinfo fileinfo support enabled version 1.0.5-dev

filter Input Validation and Filtering enabled Revision $Id: 209a1c3c98c04a5474846e7bbe8ca72054ccfd4f $

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

gd GD Support enabled GD Version bundled (2.1.0 compatible) FreeType Support enabled FreeType Linkage with freetype FreeType Version 2.3.11 GIF Read Support enabled GIF Create Support enabled JPEG Support enabled libJPEG Version 6b PNG Support enabled libPNG Version 1.2.49 WBMP Support enabled XPM Support enabled libXpm Version 30411 XBM Support enabled

Directive Local Value Master Value gd.jpeg_ignore_warning 0 0

geoip geoip support enabled geoip extension version 1.0.8 geoip library version 1004005

Directive Local Value Master Value geoip.custom_directory no value no value

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 adler32 crc32 crc32b salsa10 salsa20 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

igbinary igbinary support enabled igbinary version 1.1.1 igbinary APC serializer ABI 0

Directive Local Value Master Value igbinary.compact_strings On On

json json support enabled json version 1.2.1

libxml libXML support active libXML Compiled Version 2.9.1 libXML Loaded Version 20901 libXML streams enabled

mbstring Multibyte Support enabled Multibyte string engine libmbfl HTTP input encoding translation disabled

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Multibyte (japanese) regex support enabled Multibyte regex (oniguruma) backtrack check On Multibyte regex (oniguruma) version 4.7.1

Directive Local Value Master Value mbstring.detect_order no value no value mbstring.encoding_translation Off Off mbstring.func_overload 0 0 mbstring.http_input pass pass mbstring.http_output pass pass mbstring.http_output_conv_mimetypes ^(text/|application/xhtml+xml) ^(text/|application/xhtml+xml) mbstring.internal_encoding no value no value mbstring.language neutral neutral mbstring.strict_detection Off Off mbstring.substitute_character no value no value

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

mysql MySQL Support enabled Active Persistent Links 0 Active Links 0 Client API version mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $

Directive Local Value Master Value mysql.allow_local_infile On On mysql.allow_persistent On On mysql.connect_timeout 60 60 mysql.default_host no value no value mysql.default_password no value no value mysql.default_port no value no value mysql.default_socket /mnt/lib/mysql/mysql.sock /mnt/lib/mysql/mysql.sock mysql.default_user no value no value mysql.max_links Unlimited Unlimited mysql.max_persistent Unlimited Unlimited mysql.trace_mode Off Off

mysqli MysqlI Support enabled Client API library version mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $ 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

mysqlnd mysqlnd enabled Version mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $ Compression supported SSL supported Command buffer size 4096 Read buffer size 32768 Read timeout 31536000 Collecting statistics Yes Collecting memory statistics No Tracing n/a

Client 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_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.1h-fips 5 Jun 2014 OpenSSL Header Version OpenSSL 1.0.1h-fips 5 Jun 2014

pcre PCRE (Perl Compatible Regular Expressions) Support enabled PCRE Library Version 8.32 2012-11-30

Directive Local Value Master Value pcre.backtrack_limit 1000000 1000000 pcre.recursion_limit 100000 100000

PDO PDO support enabled PDO drivers mysql

pdo_mysql PDO Driver for MySQL enabled Client API version mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $

Directive Local Value Master Value pdo_mysql.default_socket /tmp/mysql.sock /tmp/mysql.sock

Phar Phar: PHP Archive support enabled Phar EXT version 2.0.1 Phar API version 1.1.1 SVN revision $Id: 21d763042eb5769ae0a09dc1118df2b5aae6fb33 $ 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

pthreads Version 2.0.8

redis Redis Support enabled Redis Version 2.2.5

Reflection Reflection enabled Version $Id: 4af6c4c676864b1c0bfa693845af0688645c37cf $

session Session Support enabled Registered save handlers files user redis Registered serializer handlers php php_binary igbinary

Directive Local Value Master Value session.auto_start Off Off session.bug_compat_42 Off Off session.bug_compat_warn 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 no value no value session.entropy_length 0 0 session.gc_divisor 1000 1000 session.gc_maxlifetime 1440 1440 session.gc_probability 1 1 session.hash_bits_per_character 5 5 session.hash_function 0 0 session.name PHPSESSID PHPSESSID session.referer_check no value no value session.save_handler memcached memcached session.save_path localhost:11212 localhost:11212 session.serialize_handler php php session.use_cookies On On session.use_only_cookies On On session.use_trans_sid 0 0

SimpleXML Simplexml support enabled Revision $Id: 02ab7893b36d51e9c59da77d7e287eb3b35e1e32 $ Schema support enabled

soap Soap Client enabled Soap Server enabled

Directive Local Value Master Value soap.wsdl_cache 1 1 soap.wsdl_cache_dir /tmp /tmp soap.wsdl_cache_enabled 1 1 soap.wsdl_cache_limit 5 5 soap.wsdl_cache_ttl 86400 86400

SPL SPL support enabled Interfaces Countable, OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject Classes AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, 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.quiet_eval 0 0 assert.warning 1 1 auto_detect_line_endings 0 0 default_socket_timeout 60 60 from no value no value safe_mode_allowed_envvars PHP PHP_ safe_mode_protected_env_vars LD_LIBRARY_PATH LD_LIBRARY_PATH 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

tokenizer Tokenizer Support enabled

xml XML Support active XML Namespace Support active libxml2 Version 2.9.1

zip Zip enabled Extension Version $Id: b1a1a3628c4ed0ad78fb0cc4a99b06a56aa281c4 $ Zip version 1.11.0 Libzip version 0.10.1

zlib ZLib Support enabled Stream Wrapper support compress.zlib:// Stream Filter support zlib.inflate, zlib.deflate Compiled Version 1.2.7 Linked Version 1.2.7

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 USER apache HOME /var/www

PHP Variables Variable Value _COOKIE["PHPSESSID"] 645a3041bb251b3dfd9bea36335c4e62 _SERVER["USER"] apache _SERVER["HOME"] /var/www _SERVER["FCGI_ROLE"] RESPONDER _SERVER["QUERY_STRING"] no value _SERVER["REQUEST_METHOD"] GET _SERVER["CONTENT_TYPE"] no value _SERVER["CONTENT_LENGTH"] no value _SERVER["SCRIPT_NAME"] /router.php _SERVER["REQUEST_URI"] /pi _SERVER["DOCUMENT_URI"] /router.php/pi _SERVER["DOCUMENT_ROOT"] /var/www/ads _SERVER["SERVER_PROTOCOL"] HTTP/1.1 _SERVER["GATEWAY_INTERFACE"] CGI/1.1 _SERVER["SERVER_SOFTWARE"] nginx/1.4.3 _SERVER["REMOTE_ADDR"] 122.162.126.55 _SERVER["REMOTE_PORT"] 23797 _SERVER["SERVER_ADDR"] 10.144.182.112 _SERVER["SERVER_PORT"] 80 _SERVER["SERVERNAME"] _SERVER["REDIRECT_STATUS"] 200 _SERVER["HTTP_X_REAL_IP"] 122.162.126.55 _SERVER["HTTP_X_FORWARDED_FOR"] 122.162.126.55 _SERVER["SCRIPT_FILENAME"] /var/www/ads/router.php _SERVER["PATH_INFO"] / _SERVER["PATH_TRANSLATED"] /var/www/ads/router.php _SERVER["HTTP_HOST"] ec2-54-89-93-223.compute-1.amazonaws.com _SERVER["HTTP_USER_AGENT"] Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 _SERVER["HTTPACCEPT"] text/html,application/xhtml+xml,application/xml;q=0.9,/_;q=0.8 _SERVER["HTTP_ACCEPT_LANGUAGE"] en-US,en;q=0.5 _SERVER["HTTP_ACCEPT_ENCODING"] gzip, deflate _SERVER["HTTP_COOKIE"] PHPSESSID=645a3041bb251b3dfd9bea36335c4e62 _SERVER["HTTP_CONNECTION"] keep-alive _SERVER["PHP_SELF"] /router.php/pi _SERVER["REQUEST_TIME"] 1404631892

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.

krakjoe commented 10 years ago

Sorry about the delay ... was a simple fix in the end ;)

sanket-mm commented 10 years ago

Works Now after a simple update and reinstall

great job and thx a lot

virgofx commented 10 years ago

@krakjoe Any chance a new version could be tagged and corresponding new Windows binaries built? We've been waiting for this fix on our Windows PHP-FPM systems.

krakjoe commented 10 years ago

I'll tag in the next couple of days yeah ...