1
0
mirror of https://github.com/php/php-src.git synced 2026-04-24 16:38:25 +02:00
Commit Graph

437 Commits

Author SHA1 Message Date
Xinchen Hui d8431ba09c Merge branch 'master' into phpng 2014-07-09 18:35:30 +08:00
Remi Collet b26c97b1a2 Merge branch 'PHP-5.6'
* PHP-5.6:
  NEWS
  5.6 have fpm_globals.force_stderr
  Fix Bug #67530 	error_log=syslog ignored
2014-07-08 08:34:15 +02:00
Remi Collet 71a27605f4 5.6 have fpm_globals.force_stderr 2014-07-08 08:33:48 +02:00
Remi Collet 60fd4d445c Fix Bug #67530 error_log=syslog ignored
As for Bug #64915
Systemd use --nodaemonize but need to error_log to file or syslog to be honoured
2014-07-08 08:33:47 +02:00
Dmitry Stogov acfbb7b6dc Merge branch 'master' into test
* master: (67 commits)
  remove the NEWS entry for the reverted fpm fix
  remove the NEWS entry for the reverted fpm fix
  remove the NEWS entry for the reverted fpm fix
  Revert "Fix Bug #67530 	error_log=syslog ignored"
  --enable-fpm for the travis build
  fix the last fpm NEWS entry, the other bug is related, but not the same what we fixed here
  NEWS
  NEWS
  Fix bug #67091: make install fails to install libphp5.so on FreeBSD 10.0
  adding NEWS entry for the fix for bug #65641
  Updated NEWS file for recent phpdbg fixes
  Fixed issue krakjoe/phpdbg#94 - List behavior is inconsistent
  Fix issue krakjoe/phpdbg#97 - list now appends a newline if there is none The prompt should always ensure it is on a newline
  Fixed test
  Inform about back command existence in help - Fixes krakjoe/phpdbg#100 No way to list the current stack/frames
  Fix issue krakjoe/phpdbg#98 break if does not seem to work
  Fix issue krakjoe/phpdbg#99 register function has the same behavior as run
  Fix readline/libedit (Thanks to @remicollet)
  Replace incorrect `E` command with `ev` in watch help
  Fix typo in `finish` help
  ...

Conflicts:
	Zend/zend_ast.c
	Zend/zend_highlight.c
	Zend/zend_indent.c
	ext/spl/spl_array.c
	ext/spl/spl_observer.c
	ext/standard/info.c
2014-07-01 00:19:41 +04:00
Ferenc Kovacs 2d26a7cf62 Merge branch 'PHP-5.6'
* PHP-5.6:
  remove the NEWS entry for the reverted fpm fix
  remove the NEWS entry for the reverted fpm fix
  remove the NEWS entry for the reverted fpm fix
  Revert "Fix Bug #67530 	error_log=syslog ignored"
2014-06-30 18:39:31 +02:00
Ferenc Kovacs d810c2139f Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  remove the NEWS entry for the reverted fpm fix
  remove the NEWS entry for the reverted fpm fix
  Revert "Fix Bug #67530 	error_log=syslog ignored"
2014-06-30 18:38:54 +02:00
Ferenc Kovacs af9ce6e650 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  remove the NEWS entry for the reverted fpm fix
  Revert "Fix Bug #67530 	error_log=syslog ignored"
2014-06-30 18:38:15 +02:00
Ferenc Kovacs 9c8b42960d Revert "Fix Bug #67530 error_log=syslog ignored"
This reverts commit a0ecb3794f.
2014-06-30 18:37:23 +02:00
Dmitry Stogov b7715c7e8a Refactored parameter passing mechanism.
In PHP-5.6 and below each argument passed to user function was copies on VM stack twice.
Now we always have ZEND_INIT_FCALL (or simular) opcode that pushes "call frame" on top of VM stack.
"Call frame" is actually the same zend_execute_data structure.
All the following ZEND_SEND instructions push arguments on top of the stack in a way that they directly comes into corresponding CV variables of the called frame. Extra arguments are copied at the end of stack frame (after all CV and TMP variables) on function enterance.

There are two minor incompatibilities:
1) It's not allowed to decalre functions redefining arguments e.g. "function foo($a,$a) {}".
2) func_get_arg() and func_get args() return the current value of argument and not the original value that was sent.
2014-06-30 15:43:45 +04:00
Ferenc Kovacs c73e1f80f5 Merge branch 'PHP-5.6'
* PHP-5.6:
  adding NEWS entry for the fix for bug #65641
  Fix SetHandler proxy:fcgi:// incompatibilities
2014-06-30 01:03:29 +02:00
Ferenc Kovacs d96de86b5b Merge branch 'pull-request/694' into PHP-5.6
* pull-request/694:
  Fix SetHandler proxy:fcgi:// incompatibilities
2014-06-30 00:51:59 +02:00
Remi Collet 6fa814cfc3 Merge branch 'PHP-5.6'
* PHP-5.6:
  NEWS
  NEWS
  NEWS
  Fix Bug #67531 	syslog cannot be set in pool configuration
  Fix Bug #67530 	error_log=syslog ignored
2014-06-27 09:51:52 +02:00
Remi Collet 37aa57cd1b Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  NEWS
  NEWS
  Fix Bug #67531 	syslog cannot be set in pool configuration
  Fix Bug #67530 	error_log=syslog ignored
2014-06-27 09:51:15 +02:00
Remi Collet 13c5bb9600 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  NEWS
  Fix Bug #67531 	syslog cannot be set in pool configuration
  Fix Bug #67530 	error_log=syslog ignored
2014-06-27 09:50:27 +02:00
Remi Collet bf328b1681 Fix Bug #67531 syslog cannot be set in pool configuration
error_log is listed in FPM_PHP_INI_TO_EXPAND,
but should not be expand when value = syslog
2014-06-27 09:47:28 +02:00
Remi Collet a0ecb3794f Fix Bug #67530 error_log=syslog ignored
As for Bug #64915
Systemd use --nodaemonize but need to error_log to file or syslog to be honoured
2014-06-27 09:45:53 +02:00
David Zülke db537b1f3f Fix SetHandler proxy:fcgi:// incompatibilities
Apache 2.4.10+ will allow the following:

```
<FilesMatch \.php$>
SetHandler proxy:fcgi://localhost:9000
</FilesMatch>
```

This is much easier than using `ProxyPassMatch` (which prevents rewriting and other stuff) and rewrites (which are a bag of hurt because when combined with user-land `.htaccess` rewrites, there's always rewrite loops, prefix breakage etc (I've tried, for weeks).

It's basically the future of using Apache (via `mod_proxy_fcgi`) together with PHP-FPM. It's also available for older versions as a standalone module, very easy to install: https://gist.github.com/progandy/6ed4eeea60f6277c3e39

However, the two bits of code this commit deletes interfere with that. They both cover CGI-only mode and were copied from that SAPI into the FPM source. See e.g. https://bugs.php.net/bug.php?id=47042

The first deleted part mangled `SCRIPT_NAME` if something like

```
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php/$1 [L]
```

is used (i.e. rewriting to `PATH_INFO`. The second part drops `PATH_INFO` if there was a `REDIRECT_URL` (with CGI mode, `SCRIPT_FILENAME` in Apache is the path to the PHP binary, and `PATH_INFO` contains the name of the script to run).

Clearly, neither applies in the case of FPM, so both are safe to delete.
2014-06-12 21:45:22 +02:00
Xinchen Hui c242518bf0 There should been memory leaks(and don't use pointer cast) 2014-05-08 15:20:13 +08:00
Dmitry Stogov cd4b4dfc4d Merge branch 'master' into refactoring2
Conflicts:
	Zend/zend_hash.c
	ext/date/php_date.c
2014-05-05 13:02:43 +04:00
Nikita Popov 404cc45ee2 Get php-fpm to work
At least phpinfo() works. Need to do more testing (how do you run
fpm with valgrind?)
2014-05-04 22:10:00 +02:00
Stanislav Malyshev f2a3be9627 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix bug #67060: use default mode of 660
2014-04-29 09:17:10 -07:00
Stanislav Malyshev c397fcc35f Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #67060: use default mode of 660
2014-04-29 09:16:24 -07:00
Stanislav Malyshev 770fcdab90 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #67060: use default mode of 660
2014-04-29 09:15:23 -07:00
Stanislav Malyshev 35ceea928b Fix bug #67060: use default mode of 660 2014-04-29 09:14:11 -07:00
Dmitry Stogov f9927a6c97 Merge mainstream 'master' branch into refactoring
During merge I had to revert:
	Nikita's patch for php_splice() (it probably needs to be applyed again)
	Bob Weinand's patches related to constant expression handling (we need to review them carefully)
	I also reverted all our attempts to support sapi/phpdbg (we didn't test it anyway)

Conflicts:
	Zend/zend.h
	Zend/zend_API.c
	Zend/zend_ast.c
	Zend/zend_compile.c
	Zend/zend_compile.h
	Zend/zend_constants.c
	Zend/zend_exceptions.c
	Zend/zend_execute.c
	Zend/zend_execute.h
	Zend/zend_execute_API.c
	Zend/zend_hash.c
	Zend/zend_highlight.c
	Zend/zend_language_parser.y
	Zend/zend_language_scanner.c
	Zend/zend_language_scanner_defs.h
	Zend/zend_variables.c
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
	ext/date/php_date.c
	ext/dom/documenttype.c
	ext/hash/hash.c
	ext/iconv/iconv.c
	ext/mbstring/tests/zend_multibyte-10.phpt
	ext/mbstring/tests/zend_multibyte-11.phpt
	ext/mbstring/tests/zend_multibyte-12.phpt
	ext/mysql/php_mysql.c
	ext/mysqli/mysqli.c
	ext/mysqlnd/mysqlnd_reverse_api.c
	ext/mysqlnd/php_mysqlnd.c
	ext/opcache/ZendAccelerator.c
	ext/opcache/zend_accelerator_util_funcs.c
	ext/opcache/zend_persist.c
	ext/opcache/zend_persist_calc.c
	ext/pcre/php_pcre.c
	ext/pdo/pdo_dbh.c
	ext/pdo/pdo_stmt.c
	ext/pdo_pgsql/pgsql_driver.c
	ext/pgsql/pgsql.c
	ext/reflection/php_reflection.c
	ext/session/session.c
	ext/spl/spl_array.c
	ext/spl/spl_observer.c
	ext/standard/array.c
	ext/standard/basic_functions.c
	ext/standard/html.c
	ext/standard/mail.c
	ext/standard/php_array.h
	ext/standard/proc_open.c
	ext/standard/streamsfuncs.c
	ext/standard/user_filters.c
	ext/standard/var_unserializer.c
	ext/standard/var_unserializer.re
	main/php_variables.c
	sapi/phpdbg/phpdbg.c
	sapi/phpdbg/phpdbg_bp.c
	sapi/phpdbg/phpdbg_frame.c
	sapi/phpdbg/phpdbg_help.c
	sapi/phpdbg/phpdbg_list.c
	sapi/phpdbg/phpdbg_print.c
	sapi/phpdbg/phpdbg_prompt.c
2014-04-26 00:32:51 +04:00
Stanislav Malyshev 185e5c0327 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #66908: php-fpm reload leaks epoll_create() file descriptor
2014-04-20 16:25:25 -07:00
Stanislav Malyshev 0df431482f Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix #66908: php-fpm reload leaks epoll_create() file descriptor
2014-04-20 16:25:03 -07:00
Stanislav Malyshev 6bad228b4e Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix #66908: php-fpm reload leaks epoll_create() file descriptor
2014-04-20 16:23:43 -07:00
Julio Pintos 49341e992a Fix #66908: php-fpm reload leaks epoll_create() file descriptor
This patch fixes descriptor leak which could lead to DoS once Max open files is reached
2014-04-20 16:21:49 -07:00
Stanislav Malyshev d3b433bb15 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix bug #66482, replace wrong item name 'priority' with 'process.priority' in php-fpm.conf
2014-04-13 17:33:02 -07:00
Stanislav Malyshev c1d5937f7f Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #66482, replace wrong item name 'priority' with 'process.priority' in php-fpm.conf
2014-04-13 17:32:42 -07:00
Stanislav Malyshev 5811610d71 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #66482, replace wrong item name 'priority' with 'process.priority' in php-fpm.conf
2014-04-13 17:31:44 -07:00
itxx00 636adf251c Fix bug #66482, replace wrong item name 'priority' with 'process.priority' in php-fpm.conf 2014-04-13 17:30:50 -07:00
Paul Annesley eb6941e902 add clear_env option to FPM config
This makes it possible to leave the envoronment as is on startup and
pass all the variables to the workers.
The default value of clear_env is "yes", preserving previous behaviour.
Patch by Paul Annesley.
2014-02-25 12:12:09 +04:00
Paul Annesley 6e15afd1be add clear_env option to FPM config
This makes it possible to leave the envoronment as is on startup and
pass all the variables to the workers.
The default value of clear_env is "yes", preserving previous behaviour.
Patch by Paul Annesley.
2014-02-25 12:06:32 +04:00
Paul Annesley a97ae8bc06 add clear_env option to FPM config
This makes it possible to leave the envoronment as is on startup and
pass all the variables to the workers.
The default value of clear_env is "yes", preserving previous behaviour.
Patch by Paul Annesley.
2014-02-24 11:53:40 +04:00
Paul Annesley a16304f836 add clear_env option to FPM config
This makes it possible to leave the envoronment as is on startup and
pass all the variables to the workers.
The default value of clear_env is "yes", preserving previous behaviour.
Patch by Paul Annesley.
2014-02-24 11:47:44 +04:00
Dmitry Stogov 5de7115679 Use better data structures (incomplete; able to run bench.php) 2014-02-18 16:27:38 +04:00
Lior Kaplan 464b1bc4fb Merge branch 'PHP-5.6' 2014-02-14 17:19:33 +02:00
Veres Lajos a7ec000f35 a few typofixes 2014-02-14 17:16:17 +02:00
Dmitry Stogov f4cfaf36e2 Use better data structures (incomplete) 2014-02-10 10:04:30 +04:00
Antony Dovgal 98e6c8ca2d fix indentation 2014-01-17 12:49:21 +04:00
Gernot Vormayr dff0d51243 Add some basic and apparmor tests to fpm 2014-01-17 12:49:07 +04:00
Gernot Vormayr e3d3283405 Add --force-stderr to fpm 2014-01-17 12:49:00 +04:00
Gernot Vormayr f6d137a716 Add apparmor change hat functionality to fpm 2014-01-17 12:48:33 +04:00
Antony Dovgal a053e69991 fix indentation 2014-01-17 12:22:07 +04:00
Antony Dovgal 998f506b6d Merge branch 'fpm-apparmor-fixed' of https://github.com/notti/php-src
* 'fpm-apparmor-fixed' of https://github.com/notti/php-src:
  Add some basic and apparmor tests to fpm
  Add --force-stderr to fpm
  Add apparmor change hat functionality to fpm
2014-01-16 17:36:03 +04:00
Gernot Vormayr e9883779a0 Add some basic and apparmor tests to fpm 2014-01-07 00:21:24 +01:00
Gernot Vormayr 32d9409a24 Add --force-stderr to fpm 2014-01-07 00:19:01 +01:00