<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unit.git/auto/modules/php, branch 1.25.0-1</title>
<subtitle>Universal Web Application Server</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/'/>
<entry>
<title>Configure: using comma instead of space for passing -rpath value.</title>
<updated>2020-10-26T19:24:32+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2020-10-26T19:24:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=84136eb49ded615d7408d656ca9791542a0280a0'/>
<id>84136eb49ded615d7408d656ca9791542a0280a0</id>
<content type='text'>
This variant will be more interoperable across various systems
and it's already used in Ruby module.

Otherwise, configure tests fail on NetBSD with:

  gcc: Missing argument for -Wl,-rpath
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This variant will be more interoperable across various systems
and it's already used in Ruby module.

Otherwise, configure tests fail on NetBSD with:

  gcc: Missing argument for -Wl,-rpath
</pre>
</div>
</content>
</entry>
<entry>
<title>PHP: fixed "rootfs" isolation dependency on system mounts.</title>
<updated>2020-09-09T18:28:44+00:00</updated>
<author>
<name>Tiago Natel de Moura</name>
<email>t.nateldemoura@f5.com</email>
</author>
<published>2020-09-09T18:28:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=c2eb245b32870b6360079ff9a4b063a7cd84d585'/>
<id>c2eb245b32870b6360079ff9a4b063a7cd84d585</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Isolation: added "automount" option.</title>
<updated>2020-08-25T14:25:51+00:00</updated>
<author>
<name>Tiago Natel de Moura</name>
<email>t.nateldemoura@f5.com</email>
</author>
<published>2020-08-25T14:25:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=b65a8636bb5b2ee61c69660aa6f7edc7d909e632'/>
<id>b65a8636bb5b2ee61c69660aa6f7edc7d909e632</id>
<content type='text'>
Now it's possible to disable default bind mounts of
languages by setting:

  {
      "isolation": {
           "automount": {
               "language_deps": false
           }
     }
  }

In this case, the user is responsible to provide a "rootfs"
containing the language libraries and required files for
the application.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now it's possible to disable default bind mounts of
languages by setting:

  {
      "isolation": {
           "automount": {
               "language_deps": false
           }
     }
  }

In this case, the user is responsible to provide a "rootfs"
containing the language libraries and required files for
the application.
</pre>
</div>
</content>
</entry>
<entry>
<title>PHP: added bind mounts for extensions directory.</title>
<updated>2020-08-25T12:28:14+00:00</updated>
<author>
<name>Tiago Natel de Moura</name>
<email>t.nateldemoura@f5.com</email>
</author>
<published>2020-08-25T12:28:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=30a242aa3cbfc3c3368ba0b6d2b4e579b31dc553'/>
<id>30a242aa3cbfc3c3368ba0b6d2b4e579b31dc553</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PHP: fixed version comparison in configure script.</title>
<updated>2020-07-28T15:17:18+00:00</updated>
<author>
<name>Tiago Natel de Moura</name>
<email>t.nateldemoura@f5.com</email>
</author>
<published>2020-07-28T15:17:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=f3471c29c0870cffff3d96c1c50c88c47a4d8009'/>
<id>f3471c29c0870cffff3d96c1c50c88c47a4d8009</id>
<content type='text'>
Some PPAs for Ubuntu package PHP with versions like:
 7.2.28-3+ubuntu18.04.1+deb.sury.org+1

But the script expected only "X.Y.Z".

The issue was introduced in:
 http://hg.nginx.org/unit/rev/2ecb15904ba5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some PPAs for Ubuntu package PHP with versions like:
 7.2.28-3+ubuntu18.04.1+deb.sury.org+1

But the script expected only "X.Y.Z".

The issue was introduced in:
 http://hg.nginx.org/unit/rev/2ecb15904ba5
</pre>
</div>
</content>
</entry>
<entry>
<title>PHP: building with PHP 8 (development version).</title>
<updated>2020-05-20T08:18:03+00:00</updated>
<author>
<name>Remi Collet</name>
<email>remi@remirepo.net</email>
</author>
<published>2020-05-20T08:18:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=140b81208e83569913aa81f964eb64e15940d897'/>
<id>140b81208e83569913aa81f964eb64e15940d897</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PHP: added ZTS indication to ./configure output.</title>
<updated>2020-03-04T12:24:27+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2020-03-04T12:24:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=afa2f86ecf3ff99b598b14b3448c056b914cd32a'/>
<id>afa2f86ecf3ff99b598b14b3448c056b914cd32a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PHP: rearranged feature checks in ./configure.</title>
<updated>2020-03-04T12:24:27+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2020-03-04T12:24:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=75cb2a947d7194c9ef69f9e1b9dedaae2cf1905f'/>
<id>75cb2a947d7194c9ef69f9e1b9dedaae2cf1905f</id>
<content type='text'>
Now it prints version even if PHP was built without embed SAPI.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now it prints version even if PHP was built without embed SAPI.
</pre>
</div>
</content>
</entry>
<entry>
<title>PHP: optimization to avoid surplus chdir(2) calls.</title>
<updated>2020-03-03T14:38:08+00:00</updated>
<author>
<name>Tiago Natel de Moura</name>
<email>t.nateldemoura@f5.com</email>
</author>
<published>2020-03-03T14:38:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=f99d20ad39a62cf30b6b0b01593336572484f4f5'/>
<id>f99d20ad39a62cf30b6b0b01593336572484f4f5</id>
<content type='text'>
For each request, the worker calls the php_execute_script function
from libphp that changes to the script directory before doing its
work and then restores the process directory before returning.  The
chdir(2) calls it performs are unnecessary in Unit design.  In simple
benchmarks, profiling shows that the chdir syscall code path (syscall,
FS walk, etc.) is where the CPU spends most of its time.

PHP SAPI semantics requires the script to be run from the script
directory.  In Unit's PHP implementation, we have two use cases:

- script
- arbitrary path

The "script" configuration doesn't have much need for a working
directory change: it can be changed once at module initialization.
The module needs to chdir again only if the user's PHP script also
calls chdir to switch to another directory during execution.

If "script" is not used in Unit configuration, we must ensure the
script is run from its directory (thus calling chdir before exec),
but there's no need to restore the working directory later.

Our implementation disables mandatory chdir calls with the SAPI
option SAPI_OPTION_NO_CHDIR, instead calling chdir only when needed.

To detect the user's calls to chdir, a simple "unit" extension is
added that hooks the built-in chdir() PHP call.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For each request, the worker calls the php_execute_script function
from libphp that changes to the script directory before doing its
work and then restores the process directory before returning.  The
chdir(2) calls it performs are unnecessary in Unit design.  In simple
benchmarks, profiling shows that the chdir syscall code path (syscall,
FS walk, etc.) is where the CPU spends most of its time.

PHP SAPI semantics requires the script to be run from the script
directory.  In Unit's PHP implementation, we have two use cases:

- script
- arbitrary path

The "script" configuration doesn't have much need for a working
directory change: it can be changed once at module initialization.
The module needs to chdir again only if the user's PHP script also
calls chdir to switch to another directory during execution.

If "script" is not used in Unit configuration, we must ensure the
script is run from its directory (thus calling chdir before exec),
but there's no need to restore the working directory later.

Our implementation disables mandatory chdir calls with the SAPI
option SAPI_OPTION_NO_CHDIR, instead calling chdir only when needed.

To detect the user's calls to chdir, a simple "unit" extension is
added that hooks the built-in chdir() PHP call.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed "make tests" build without preceding "make".</title>
<updated>2019-10-02T16:11:10+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2019-10-02T16:11:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=9b4e45cafcc8f1f74bcfce3071866ee5eab176a5'/>
<id>9b4e45cafcc8f1f74bcfce3071866ee5eab176a5</id>
<content type='text'>
Currently almost all Unit object files depends on generated nxt_version.h.
This patch adds missing dependence and fixes running make with multiple
jobs.

This closes #318 issue on GitHub.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently almost all Unit object files depends on generated nxt_version.h.
This patch adds missing dependence and fixes running make with multiple
jobs.

This closes #318 issue on GitHub.
</pre>
</div>
</content>
</entry>
</feed>
