php / doc-en Goto Github PK
View Code? Open in Web Editor NEWEnglish PHP documentation
English PHP documentation
From manual page: https://php.net/function.crypt
In portuguese-br the translate have duplicate words
"crypt() retornará uma string criptografada usando o algoritmo de encriptação Unix Standard DES-based OU OU algoritmos alternativos disponíveis no sistema."
You can remove one of "ou"
From manual page: https://php.net/reflectionproperty.gettype
PHP >= 8.0
The PHP manual says ReflectionType|null
, but ReflectionNamedType
is returned.
From manual page: https://php.net/function.preg-split
These json encoded unicode characters in a string not splitted by the method
\ud876\ude54
preg_split('//u', $str, null, PREG_SPLIT_NO_EMPTY);
Not all extensions use the modern page style for INI settings (see the skeleton).
One such extension is wkhtmltox
.
It would be good to do a review and update the necessary extensions.
Checked when looking at #709 - there's also event/
but I'm not familiar with that
Users may be surprised if they add headers to those examples and those headers only exist in HTTP/1.1.
For stream/book.xml - is it actually using HTTP/1.0 or HTTP/1.1 - maybe there should be a changelog (I forget if that or something else was what changed in 8.0)
NOTE: HTTP/1.0 may actually be faster for some of the examples due to not supporting keepalive if the server closes connections (no keepalive in 1.0) - Connection: close
may need to be added to ensure the same behavior
stream/examples.xml
49:fwrite($sock, "POST /form_action.php HTTP/1.0\r\n");
stream/functions/stream-socket-client.xml
156: fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
stream/book.xml
21- A <literal>wrapper</literal> is additional code which tells the stream how to handle
22- specific protocols/encodings. For example, the <literal>http</literal>
23: wrapper knows how to translate a URL into an <literal>HTTP/1.0</literal>
24- request for a file on a remote server. There are many wrappers
25- built into PHP by default (See <xref linkend="wrappers"/>),
26- and additional, custom wrappers may be added either within a
27- PHP script using <function>stream_wrapper_register</function>,
stream/functions/stream-set-timeout.xml
81: fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
network/functions/header.xml
73:// (to override http status messages for clients that are still using HTTP/1.0)
We have an appendix which lists all the function aliases https://www.php.net/manual/en/aliases.php however it seems to be unmaintained. But I imagine it should be relatively easy to generate this page now that we have this information available in the stubs.
Pages which need to be added/modified for complete documentation of PHP 8.0:
Based of the migration guide: https://www.php.net/manual/en/migration80.php (formally #170)
p
(#230)CurlHandle
(5f8047c)CurlMultiHandle
(5f8047c)CurlShareHandle
(5f8047c)EnchantBroker
(5f8047c)EnchantDictionary
(5f8047c)GdImage
(5f8047c)OpenSSLCertificate
(5f8047c)OpenSSLCertificateSigningRequest
(5f8047c)OpenSSLAsymmetricKey
(5f8047c)Shmop
(5f8047c)Socket
(5f8047c)AddressInfo
(5f8047c)SysvMessageQueue
(#1020)SysvSemaphore
(#1020)SysvSharedMemory
(#1020)XmlParser
(5f8047c)XMLWriter
(c31630c)InflateContext
(5f8047c)DeflateContext
(5f8047c)OCI-Lob
to OCILob
OCI-Collection
to OCICollection
enchant_broker_set_dict_path()
enchant_broker_get_dict_path()
enchant_dict_add_to_personal()
enchant_broker_free()
libxml_disable_entity_loader()
ReflectionFunction::isDisabled()
ReflectionParameter::getClass()
ReflectionParameter::isArray()
ReflectionParameter::isCallable()
From manual page: https://php.net/mysqlnd-uh.quickstart.query-monitoring
The mysqlnd-uh pages works only in Romenian language, in all other languages this give a 404 error
Constant is not referenced, but exists since 7.4/8.0 : https://3v4l.org/3W5bn
Side notes :
Can't find reference table for prefixed letters meta characters aka nowadays "character types" (\w, \d, \s...).
Useful for example to re-check the type of white spaces matched by \s (different from [[:space:]].
From manual page: https://php.net/reference.pcre.pattern.syntax
ZipArchive::addGlob will crash on ZipArchive::close if you add a directory named with an extension.
From manual page: https://php.net/class.domimplementation
ReflectionClass
detect method getFeature()
missed in manual:
Method [ public method getFeature ] {
- Parameters [2] {
Parameter #0 [ $feature ]
Parameter #1 [ $version ]
}
}
ReflectionMethod
not detect hasFeature()
parameters:
Method [ public method hasFeature ] {
- Parameters [0] {
}
}
but in manual:
public hasFeature(string $feature, string $version): bool
Looks like all the union return types are missing the |
delimiter. Other union types such as parameters are not missing |
.
https://www.php.net/manual/en/class.intldateformatter.php
public getCalendar(): intfalse
From manual page: https://php.net/language.operators.precedence
Page does not include the "throw" operator added in PHP 8
__
and magic constants even ends with __
, except ClassName::class
i.e. specified as magic constant in docs.ClassName
referring to any replaceable values followed by scope resolution operator ::
and class keyword.So, is it magic constant composed of keyword and operator or is it mistake in Magic constants docs?
From manual page: https://php.net/intl.configuration
The link http://demo.icu-project.org/icu-bin/locexp doesn't exist.
From manual page: https://php.net/class.spldoublylinkedlist
The documentation describe a constructor.
https://www.php.net/manual/de/spldoublylinkedlist.construct.php
https://www.php.net/manual/en/spldoublylinkedlist.construct.php
I think, there is no constructor. (or misunderstand I something?)
I tried to extend 'SplDoublyLinkedList' in an own class and got the unexpected fatal error (see comment in code)
<?php
class Liste extends SplDoublyLinkedList
{
public function __construct() {
parent::__construct(); //<b>Fatal error</b>: Uncaught Error: Cannot call constructor in [...][...]:6
$this->push('klaus');
}
public function liste() {
$this->push('herbert');
}
}
$hallo = new Liste();
$hallo->push('padina');
$hallo->push('doof');
$hallo->liste();
foreach($hallo as $key=>$item) {
echo($key.' => '.$item."\n");
From manual page: https://php.net/function.set-error-handler
Warning
Prior to PHP 8.0.0, the errno value was always 0 if the expression which caused the diagnostic was prepended by the @ error-control operator.
That's not true. The value of errno
is always that of the actual error regardless of the @
operator, both in PHP 7 (and lower) and in PHP 8.
What was always zero before PHP 8 and is not always zero in PHP 8, is the value returned by error_reporting()
inside the error handler.
In PHP 8 the value returned by error_reporting()
inside the error handler CHANGES SOMEHOW if the expression that triggers the error has @
error suppression. How exactly it changes is utterly undocumented.
The same wrong statement is also present here:
https://www.php.net/manual/en/language.operators.errorcontrol.php
Warning
Prior to PHP 8.0.0, the value of the severity passed to the custom error handler was always 0 if the diagnostic was suppressed. This is no longer the case as of PHP 8.0.0.
Note that here it is more confusing because it says "the severity"; one can only guess that it refers to err_no
From manual page: https://php.net/function.pathinfo
The online manual does not say it - but shouldn't the pathinfo() function return a false if there is a problem (like - no file given or file not found)? Just wondering. :-)
From manual page: https://php.net/function.date
Dear all,
I used your function date in echo date(“Y-W”, strtotime(“2021-01-01"));
I expected 2020-53 but instead, I got 2021-53.
I'm working in PHP version 7.3.11
Thank you in advance,
Developer at Digitaal Kantoor Gouda
From manual page: https://php.net/class.parallel-events
event
is referenced to https://www.php.net/manual/en/class.event.php
in poll
method.
These issues can be found by using the section-order.php
QA script located in doc-base,
and should be fixed similarly to how it is done in #657
From manual page: https://php.net/book.imagick
Hi
We are using ImageMagick plugin for Print2Metal website and we have encountered an issue when we upload a Tiff image on the website with a custom size. The saved image is of incorrect size.
Example:
We uploaded a tiff image with a custom size of 22 x 17.5 inch, but the saved image is not of the requested size (Please check the attached image).
Can you please let us know if you have any solution for this issue?
Thank you.
Kind regards,
Sandhya Prabhakar
Client Service Coordinator
From manual page: https://php.net/dateinterval.construct
W | weeks. These get converted into days, so can not be combined with D.
The "so can not be combined with D" part is no longer true since php 8.0: https://3v4l.org/RNqK8
derickr/timelib#85
Is it possible to sort the class methods where __construct
is first? It looks very odd when it's shorted alphabetically without the __
.
Example:
https://www.php.net/manual/en/class.recursiveiteratoriterator.php
public beginChildren(): void
public beginIteration(): void
public callGetChildren(): RecursiveIterator
public callHasChildren(): bool
public __construct(Traversable $iterator, int $mode = RecursiveIteratorIterator::LEAVES_ONLY, int $flags = 0)
public current(): mixed
"The definition of a word is any string of characters that is immediately after any character listed"
not only after the character, but also the first word in the string
because ucwords('lorem-ipsum-dolor', '-') isn't lorem-Ipsum-Dolor, but Lorem-Ipsum-Dolor
From manual page: https://php.net/function.ucwords
Hello @admin,
Please add me to this organisation.
From manual page: https://php.net/class.stringable
Should be
public function __toString(): string
{
return "$this->oct1.$this->oct2.$this->oct3.$this->oct4";
}
From:
Snapshot-Content-Location: https://docs.docker.com/engine/install/ubuntu/#uninstall-docker-engine
Subject: Install Docker Engine on Ubuntu | Docker Documentation
Date: Mon, 24 May 2021 07:32:10 -0000
MIME-Version: 1.0
Content-Type: multipart/related;
type="text/html";
boundary="----MultipartBoundary--NvpcdfSE0hYdBVxxceVt5D0PABCW1HbNo6nTHbjjrJ----"
------MultipartBoundary--NvpcdfSE0hYdBVxxceVt5D0PABCW1HbNo6nTHbjjrJ----
Content-Type: text/html
Content-ID: [email protected]
Content-Transfer-Encoding: binary
Content-Location: https://docs.docker.com/engine/install/ubuntu/#uninstall-docker-engine
</header>
<div class="wrapper right-open">
<div class="container-fluid">
<div class="row">
<div class="col-body">
<main class="col-content content">
<section class="section"><h1>Install Docker Engine on Ubuntu</h1><p><em class="reading-time">Estimated reading time: 10 minutes</em></p><p>To get started with Docker Engine on Ubuntu, make sure you
meet the prerequisites, then
install Docker.
To install Docker Engine, you need the 64-bit version of one of these Ubuntu versions:
Docker Engine is supported on x86_64
(or amd64
), armhf
, and arm64
architectures.
Older versions of Docker were called docker
, docker.io
, or docker-engine
.
If these are installed, uninstall them:
$ sudo apt-get remove docker docker-engine docker.io containerd runc
It’s OK if apt-get
reports that none of these packages are installed.
The contents of /var/lib/docker/
, including images, containers, volumes, and
networks, are preserved. If you do not need to save your existing data, and want to
start with a clean installation, refer to the uninstall Docker Engine
section at the bottom of this page.
Docker Engine on Ubuntu supports overlay2
, aufs
and btrfs
storage drivers.
Docker Engine uses the overlay2
storage driver by default. If you need to use
aufs
instead, you need to configure it manually.
See use the AUFS storage driver
You can install Docker Engine in different ways, depending on your needs:
Most users set up Docker’s repositories and install from them, for ease of installation and upgrade tasks. This is the recommended approach.
Some users download the DEB package and install it manually and manage upgrades completely manually. This is useful in situations such as installing Docker on air-gapped systems with no access to the internet.
In testing and development environments, some users choose to use automated convenience scripts to install Docker.
Before you install Docker Engine for the first time on a new host machine, you need to set up the Docker repository. Afterward, you can install and update Docker from the repository.
Update the apt
package index and install packages to allow apt
to use a
repository over HTTPS:
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span> <span class="nb">sudo </span>apt-get update
Add Docker’s official GPG key:
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span> curl <span class="nt">-fsSL</span> https://download.docker.com/linux/ubuntu/gpg | <span class="nb">sudo </span>gpg <span class="nt">--dearmor</span> <span class="nt">-o</span> /usr/share/keyrings/docker-archive-keyring.gpg
Use the following command to set up the stable repository. To add the
nightly or test repository, add the word nightly
or test
(or both)
after the word stable
in the commands below. Learn about nightly and test channels.
<blockquote>
<p><strong>Note</strong>: The <code class="highlighter-rouge">lsb_release -cs</code> sub-command below returns the name of your
Ubuntu distribution, such as xenial
. Sometimes, in a distribution
like Linux Mint, you might need to change $(lsb_release -cs)
to your parent Ubuntu distribution. For example, if you are using
Linux Mint Tessa
, you could use bionic
. Docker does not offer any guarantees on untested
and unsupported Ubuntu distributions.
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" data-target="#x86_64_repo">x86_64 / amd64</a></li>
<li><a data-toggle="tab" data-target="#armhf_repo">armhf</a></li>
<li><a data-toggle="tab" data-target="#arm64_repo">arm64</a></li>
</ul>
<div class="tab-content">
<div id="x86_64_repo" class="tab-pane fade in active">
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span> <span class="nb">echo</span> <span class="se">\</span>
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu </span>
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
</div>
<div id="armhf_repo" class="tab-pane fade">
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span> <span class="nb">echo</span> <span class="se">\</span>
"deb [arch=armhf signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu </span>
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
</div>
<div id="arm64_repo" class="tab-pane fade">
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span> <span class="nb">echo</span> <span class="se">\</span>
"deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu </span>
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
</div>
</div>
<p><!-- tab-content --></p>
Update the apt
package index, and install the latest version of Docker
Engine and containerd, or go to the next step to install a specific version:
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp"> $</span> <span class="nb">sudo </span>apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
<blockquote>
<p>Got multiple Docker repositories?</p>
<p>If you have multiple Docker repositories enabled, installing
or updating without specifying a version in the apt-get install
or
apt-get update
command always installs the highest possible version,
which may not be appropriate for your stability needs.
To install a specific version of Docker Engine, list the available versions in the repo, then select and install:
<p>a. List the versions available in your repo:</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span> apt-cache madison docker-ce
<p>b. Install a specific version using the version string from the second column,
for example, 5:18.09.1
.3-0ubuntu-xenial
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span> <span class="nb">sudo </span>apt-get install docker-ce<span class="o">=</span><VERSION_STRING> docker-ce-cli<span class="o">=</span><VERSION_STRING> containerd.io
Verify that Docker Engine is installed correctly by running the hello-world
image.
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span> <span class="nb">sudo </span>docker run hello-world
<p>This command downloads a test image and runs it in a container. When the
container runs, it prints an informational message and exits.
Docker Engine is installed and running. The docker
group is created but no users
are added to it. You need to use sudo
to run Docker commands.
Continue to Linux postinstall to allow non-privileged
users to run Docker commands and for other optional configuration steps.
To upgrade Docker Engine, first run sudo apt-get update
, then follow the
installation instructions, choosing the new
version you want to install.
If you cannot use Docker’s repository to install Docker Engine, you can download the
.deb
file for your release and install it manually. You need to download
a new file each time you want to upgrade Docker.
Go to https://download.docker.com/linux/ubuntu/dists/
,
choose your Ubuntu version, then browse to pool/stable/
, choose amd64
,
armhf
, or arm64
, and download the .deb
file for the Docker Engine
version you want to install.
<blockquote>
<p><strong>Note</strong>: To install a <strong>nightly</strong> or <strong>test</strong> (pre-release) package,
change the word stable
in the above URL to nightly
or test
.
Learn about nightly and test channels.
Install Docker Engine, changing the path below to the path where you downloaded the Docker package.
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span> <span class="nb">sudo </span>dpkg <span class="nt">-i</span> /path/to/package.deb
<p>The Docker daemon starts automatically.</p>
Verify that Docker Engine is installed correctly by running the hello-world
image.
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span> <span class="nb">sudo </span>docker run hello-world
<p>This command downloads a test image and runs it in a container. When the
container runs, it prints an informational message and exits.
Docker Engine is installed and running. The docker
group is created but no users
are added to it. You need to use sudo
to run Docker commands.
Continue to Post-installation steps for Linux to allow
non-privileged users to run Docker commands and for other optional configuration
steps.
To upgrade Docker Engine, download the newer package file and repeat the installation procedure, pointing to the new file.
Docker provides convenience scripts at get.docker.com
and test.docker.com for installing edge and
testing versions of Docker Engine - Community into development environments quickly and
non-interactively. The source code for the scripts is in the
docker-install
repository.
Using these scripts is not recommended for production
environments, and you should understand the potential risks before you use
them:
root
or sudo
privileges to run. Therefore,
you should carefully examine and audit the scripts before running them.This example uses the script at get.docker.com to
install the latest release of Docker Engine - Community on Linux. To install the latest
testing version, use test.docker.com instead. In
each of the commands below, replace each occurrence of get
with test
.
Warning:
Always examine scripts downloaded from the internet before running them locally.
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
<...>
If you would like to use Docker as a non-root user please see the post-installation steps for Linux.
Docker Engine - Community is installed. It starts automatically on DEB
-based distributions. On
RPM
-based distributions, you need to start it manually using the appropriate
systemctl
or service
command. As the message indicates, non-root users can’t
run Docker commands by default.
If you installed Docker using the convenience script, you should upgrade Docker using your package manager directly. There is no advantage to re-running the convenience script, and it can cause issues if it attempts to re-add repositories which have already been added to the host machine.
Uninstall the Docker Engine, CLI, and Containerd packages:
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span> <span class="nb">sudo </span>apt-get purge docker-ce docker-ce-cli containerd.io
Images, containers, volumes, or customized configuration files on your host are not automatically removed. To delete all images, containers, and volumes:
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gp">$</span> <span class="nb">sudo </span>rm <span class="nt">-rf</span> /var/lib/docker
$ sudo rm -rf /var/lib/containerd
You must delete any edited configuration files manually.
<div class="container">
<div class="top_footer">
<div class="row">
<div class="col-xs-12 col-sm-3 col-md-3">
<ul class="footer_links">
<li><b><a href="https://www.docker.com/why-docker">Why Docker?</a></b></li>
<li><a href="https://www.docker.com/what-container">What is a Container?</a></li>
<li><a href="https://www.docker.com/dockercon-live/2021/?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-registration-dockercon">Register for DockerCon21</a></li>
<li><b><a href="https://www.docker.com/products/overview">Products</a></b></li>
<li><a href="https://www.docker.com/products/docker-desktop">Docker Desktop</a></li>
<li><a href="https://www.docker.com/products/docker-hub">Docker Hub</a></li>
<li><a href="https://www.docker.com/roadmap">Docker Product Roadmap</a></li>
<li><b><a href="https://www.docker.com/products/docker-desktop">Features</a></b></li>
<li><a href="https://www.docker.com/products/container-runtime">Container Runtime</a></li>
<li><a href="https://www.docker.com/products/developer-tools">Developer Tools</a></li>
</ul>
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
<ul class="footer_links">
<li><b><a href="https://www.docker.com/products/docker-desktop">Developers</a></b></li>
<li><a href="https://www.docker.com/use-cases">Use Cases</a></li>
<li><a href="https://www.docker.com/play-with-docker">Play with Docker</a></li>
<li><a href="https://www.docker.com/docker-community">Community</a></li>
<li><a href="https://www.docker.com/open-source">Open Source</a></li>
<li><a href="https://www.docker.com/community/docker-captains">Docker Captains</a></li>
</ul>
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
<ul class="footer_links">
<li><b><a href="https://www.docker.com/products/docker-desktop">Pricing</a></b></li>
<li><a href="https://www.docker.com/pricing/faq">FAQs</a></li>
<li><a href="https://www.docker.com/partners/programs">Verified Publisher Program</a></li>
</ul>
</div>
<div class="col-xs-12 col-sm-3 col-md-3">
<ul class="footer_links">
<li><b><a href="https://www.docker.com/company" target="_blank" rel="noopener">Company</a></b></li>
<li><a href="https://www.docker.com/company">About Us</a></li>
<li><a href="https://www.docker.com/blog/" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://www.docker.com/customers">Customers</a></li>
<li><a href="https://www.docker.com/partners">Partners</a></li>
<li><a href="https://www.docker.com/company/newsroom">Newsroom</a></li>
<li><a href="https://www.docker.com/careers">Careers</a></li>
<li><a href="https://www.docker.com/company/contact">Contact Us</a></li>
</ul>
</div>
</div>
<div class="footer-nav">
<nav class="footer_sub_nav">
<ul class="menu">
<li><a href="http://status.docker.com/">Status</a></li>
<li><a href="https://www.docker.com/legal">Legal</a></li>
<li><a href="https://www.docker.com/company/contact">Contact</a></li>
</ul>
</nav>
</div>
</div>
<div class="bottom_footer">
<div class="footer-copyright col-xs-12 col-md-8">
<p class="copyright">
Copyright © 2013-2021 Docker Inc. All rights reserved. </p>
</div>
<div class="footer_social_nav">
<ul class="nav-social">
<li class="fa fa-twitter"><a href="http://twitter.com/docker">Twitter</a></li>
<li class="fa fa-youtube"><a href="http://www.youtube.com/user/dockerrun">Youtube</a></li>
<li class="fa fa-github"><a href="https://github.com/docker">GitHub</a></li>
<li class="fa fa-linkedin"><a href="https://www.linkedin.com/company/docker">Linkedin</a></li>
<li class="fa fa-facebook"><a href="https://www.facebook.com/docker.run">Facebook</a></li>
<li class="fa fa-slideshare"><a href="https://www.slideshare.net/docker">Slideshare</a></li>
<li class="fa fa-reddit"><a href="https://www.reddit.com/r/docker">Reddit</a></li>
</ul>
</div>
</div>
</div>
</footer>
From manual page: https://php.net/function.stats-dens-normal
https://www.loom.com/share/3abac0feda2e401e8016b9417017127d
I can see stats_dens_normal formula on the website is only the Romanian language, not in any other language but when I try to use this function I get an error of undefined function.
Hello.
I just find that the Ncurses documentation section on the php.net site return 404:
https://www.php.net/manual/en/ref.ncurses.php
The section still pop up in Google search result and from archive.org I can see its ok and online at least to 20 May this year, but currently is gone.
From manual page: https://www.php.net/manual/en/resource.php
on mozilla and chrome it looks like this:
Not all extensions use the modern page style for listing their constants (see the skeleton).
One such extension is cubrid
.
It would be good to do a review and update the necessary extensions.
From manual page: https://php.net/mongocollection.batchinsert
The following link produces 404
https://www.php.net/manual/en/mongocollection.batchinsert.php
Google search results as such gave me the Romanian version
https://www.php.net/manual/ro/mongocollection.batchinsert.php
except I do not speak Romanian
From manual page: https://php.net/recursiveiteratoriterator.beginchildren
Let's erase &warn.undocumented.func;
from ReflectionAttribute documentation!
https://www.php.net/manual/en/reflectionattribute.gettarget.php
https://github.com/php/php-src/blob/php-8.0.0/Zend/zend_attributes.h#L23-L29
Assuming this is correct, the random_bytes
page should include a note or warning stating null bytes can be generated.
https://www.php.net/manual/en/function.random-bytes.php
(If I can find the rights words, I'll do this, but creating the issue as a reminder.)
From
manual page: https://php.net/datetime.configuration
From manual page: https://php.net/function.dom-import-simplexml
--- Return value is mentioned to be The DOMElement node added or false if any errors occur.
While the actual return type is DOMElement|null
From manual page: https://php.net/language.generators.syntax
The following block seems like an artifact:
Caution
The value that will be assigned to $data is the value passed to Generator::send(), or null if Generator::next() is called instead.
From manual page: https://php.net/ini.list
Some session settings in middle of memchache partially modified
memcache.hash_strategy | "standard" | PHP_INI_ALL | Available since memcache 2.2.0.
memcache.hash_function | "crc32" | PHP_INI_ALL | Available since memcache 2.2.0.
session.save_handler | "files" | PHP_INI_ALL | Supported since memcache 2.1.2
session.save_path | "" | PHP_INI_ALL | Supported since memcache 2.1.2
memcache.protocol | ascii | >PHP_INI_ALL | Supported since memcache 3.0.0
memcache.redundancy | 1 | >PHP_INI_ALL | Supported since memcache 3.0.0
From manual page: https://php.net/userlandnaming.globalnamespace
---hacked
From manual page: https://php.net/datetime.createfromformat
The description of the parsing process of the string with the date and time clearly says:
If format does not contain the character ! then portions of the generated time which are not specified in format will be set to the current system time.
This is not true if the format contains hours, minutes, seconds, or microseconds.
According to the source code, they will be zeroed, not equal to the current system time even without "!" or "|" modifier.
Example:
$dt = \DateTimeImmutable::createFromFormat("H:i", '15:30', new DateTimeZone('Europe/Moscow'));
echo $dt->format('c u');
// Output will be: 2021-06-08T15:30:00+03:00 000000 (for any given system seconds & microseconds)
From manual page: https://php.net/book.yaml
Unfortunately, the yaml extension is not compiled in PHP 8.1
Is it problem of yaml lib?
/tmp/pickle.tmp/yaml/yaml-2.2.1/detect.c:545:4: error: 'ZEND_ATOL' undeclared (first use in this function); did you mean 'ZEND_AST_OR'? 2: 545 | ZEND_ATOL(*lval, buf); 2: | ^~~~~~~~~ 2: | ZEND_AST_OR
Full (relevant) log:
The following error(s) happened: make failed
1: phpize
2: Configuring for:
2: PHP Api Version: 20201009
2: Zend Module Api No: 20201009
2: Zend Extension Api No: 420201009
2: configure.ac:18: warning: $as_echo is obsolete; use AS_ECHO(["message"]) instead
2: build/php.m4:2111: PHP_CONFIG_NICE is expanded from...
2: configure.ac:18: the top level
2: configure.ac:161: warning: The macro `AC_LANG_C' is obsolete.
2: configure.ac:161: You should run autoupdate.
2: ./lib/autoconf/c.m4:72: AC_LANG_C is expanded from...
2: build/libtool.m4:2728: _LT_AC_LANG_C_CONFIG is expanded from...
2: build/libtool.m4:2727: AC_LIBTOOL_LANG_C_CONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
2: configure.ac:161: warning: The macro `AC_LANG_C' is obsolete.
2: configure.ac:161: You should run autoupdate.
2: ./lib/autoconf/c.m4:72: AC_LANG_C is expanded from...
2: lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
2: lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
2: ./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
2: ./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
2: build/libtool.m4:561: _LT_AC_LOCK is expanded from...
2: build/libtool.m4:1185: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from...
2: build/libtool.m4:2728: _LT_AC_LANG_C_CONFIG is expanded from...
2: build/libtool.m4:2727: AC_LIBTOOL_LANG_C_CONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
2: configure.ac:161: warning: The macro `AC_TRY_LINK' is obsolete.
2: configure.ac:161: You should run autoupdate.
2: ./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
2: lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
2: lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
2: ./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
2: ./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
2: build/libtool.m4:561: _LT_AC_LOCK is expanded from...
2: build/libtool.m4:1185: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from...
2: build/libtool.m4:2728: _LT_AC_LANG_C_CONFIG is expanded from...
2: build/libtool.m4:2727: AC_LIBTOOL_LANG_C_CONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
2: configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe
2: build/libtool.m4:1185: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from...
2: build/libtool.m4:2728: _LT_AC_LANG_C_CONFIG is expanded from...
2: build/libtool.m4:2727: AC_LIBTOOL_LANG_C_CONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
2: configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe
2: build/libtool.m4:1185: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from...
2: build/libtool.m4:2728: _LT_AC_LANG_C_CONFIG is expanded from...
2: build/libtool.m4:2727: AC_LIBTOOL_LANG_C_CONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
2: configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me:${as_lineno-$LINENO}: WARNING: output file \`$ofile' does not exist
2: build/libtool.m4:1918: _LT_AC_TAGCONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
2: configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me: WARNING: output file \`$ofile' does not exist
2: build/libtool.m4:1918: _LT_AC_TAGCONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
2: configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me:${as_lineno-$LINENO}: WARNING: output file \`$ofile' does not look like a libtool script
2: build/libtool.m4:1918: _LT_AC_TAGCONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
2: configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me: WARNING: output file \`$ofile' does not look like a libtool script
2: build/libtool.m4:1918: _LT_AC_TAGCONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
2: configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me:${as_lineno-$LINENO}: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'
2: build/libtool.m4:1918: _LT_AC_TAGCONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
2: configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'
2: build/libtool.m4:1918: _LT_AC_TAGCONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
2: configure.ac:161: warning: back quotes and double quotes must not be escaped in: tag name \"$tagname\" already exists
2: build/libtool.m4:1918: _LT_AC_TAGCONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
2: configure.ac:161: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
2: configure.ac:161: You should run autoupdate.
2: ./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
2: build/libtool.m4:2810: _LT_AC_LANG_CXX_CONFIG is expanded from...
2: build/libtool.m4:2809: AC_LIBTOOL_LANG_CXX_CONFIG is expanded from...
2: build/libtool.m4:1918: _LT_AC_TAGCONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
2: configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe
2: build/libtool.m4:1185: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from...
2: build/libtool.m4:2810: _LT_AC_LANG_CXX_CONFIG is expanded from...
2: build/libtool.m4:2809: AC_LIBTOOL_LANG_CXX_CONFIG is expanded from...
2: build/libtool.m4:1918: _LT_AC_TAGCONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
2: configure.ac:161: warning: back quotes and double quotes must not be escaped in: $as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe
2: build/libtool.m4:1185: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from...
2: build/libtool.m4:2810: _LT_AC_LANG_CXX_CONFIG is expanded from...
2: build/libtool.m4:2809: AC_LIBTOOL_LANG_CXX_CONFIG is expanded from...
2: build/libtool.m4:1918: _LT_AC_TAGCONFIG is expanded from...
2: build/libtool.m4:70: AC_LIBTOOL_SETUP is expanded from...
2: build/libtool.m4:52: _AC_PROG_LIBTOOL is expanded from...
2: build/libtool.m4:39: AC_PROG_LIBTOOL is expanded from...
2: configure.ac:161: the top level
1: /tmp/pickle.tmp/yaml/yaml-2.2.1/configure
2: checking for grep that handles long lines and -e... /bin/grep
2: checking for egrep... /bin/grep -E
2: checking for a sed that does not truncate output... /bin/sed
2: checking for pkg-config... /usr/bin/pkg-config
2: checking pkg-config is at least version 0.9.0... yes
2: checking for cc... cc
2: checking whether the C compiler works... yes
2: checking for C compiler default output file name... a.out
2: checking for suffix of executables...
2: checking whether we are cross compiling... no
2: checking for suffix of object files... o
2: checking whether the compiler supports GNU C... yes
2: checking whether cc accepts -g... yes
2: checking for cc option to enable C11 features... none needed
2: checking how to run the C preprocessor... cc -E
2: checking for icc... no
2: checking for suncc... no
2: checking for system library directory... lib
2: checking if compiler supports -R... no
2: checking if compiler supports -Wl,-rpath,... yes
2: checking build system type... x86_64-pc-linux-musl
2: checking host system type... x86_64-pc-linux-musl
2: checking target system type... x86_64-pc-linux-musl
2: checking for PHP prefix... /usr/local
2: checking for PHP includes... -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib
2: checking for PHP extension directory... /usr/local/lib/php/extensions/no-debug-non-zts-20201009
2: checking for PHP installed headers prefix... /usr/local/include/php
2: checking if debug is enabled... no
2: checking if zts is enabled... no
2: checking for gawk... no
2: checking for nawk... no
2: checking for awk... awk
2: checking if awk is broken... no
2: checking whether to enable LibYAML suppot... yes, shared
2: checking for yaml headers... found in /usr
2: checking for stdio.h... yes
2: checking for stdlib.h... yes
2: checking for string.h... yes
2: checking for inttypes.h... yes
2: checking for stdint.h... yes
2: checking for strings.h... yes
2: checking for sys/stat.h... yes
2: checking for sys/types.h... yes
2: checking for unistd.h... yes
2: checking for yaml.h... yes
2: checking for a sed that does not truncate output... /bin/sed
2: checking for ld used by cc... /usr/x86_64-alpine-linux-musl/bin/ld
2: checking if the linker (/usr/x86_64-alpine-linux-musl/bin/ld) is GNU ld... yes
2: checking for /usr/x86_64-alpine-linux-musl/bin/ld option to reload object files... -r
2: checking for BSD-compatible nm... /usr/bin/nm -B
2: checking whether ln -s works... yes
2: checking how to recognize dependent libraries... pass_all
2: checking for dlfcn.h... yes
2: checking the maximum length of command line arguments... 98304
2: checking command to parse /usr/bin/nm -B output from cc object... ok
2: checking for objdir... .libs
2: checking for ar... ar
2: checking for ranlib... ranlib
2: checking for strip... strip
2: checking if cc supports -fno-rtti -fno-exceptions... no
2: checking for cc option to produce PIC... -fPIC
2: checking if cc PIC flag -fPIC works... yes
2: checking if cc static flag -static works... yes
2: checking if cc supports -c -o file.o... yes
2: checking whether the cc linker (/usr/x86_64-alpine-linux-musl/bin/ld -m elf_x86_64) supports shared libraries... yes
2: checking whether -lc should be explicitly linked in... no
2: checking dynamic linker characteristics... GNU/Linux ld.so
2: checking how to hardcode library paths into programs... immediate
2: checking whether stripping libraries is possible... yes
2: checking if libtool supports shared libraries... yes
2: checking whether to build shared libraries... yes
2: checking whether to build static libraries... no
2:
2: creating libtool
2: appending configuration tag "CXX" to libtool
2: configure: patching config.h.in
2: configure: creating ./config.status
2: config.status: creating config.h
1: make
2: /bin/sh /tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/libtool --mode=compile cc -I. -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/include -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/main -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pickle.tmp/yaml/yaml-2.2.1/yaml.c -o yaml.lo -MMD -MF yaml.dep -MT yaml.lo
2: mkdir .libs
2: cc -I. -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/include -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/main -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pickle.tmp/yaml/yaml-2.2.1/yaml.c -MMD -MF yaml.dep -MT yaml.lo -fPIC -DPIC -o .libs/yaml.o
2: /bin/sh /tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/libtool --mode=compile cc -I. -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/include -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/main -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pickle.tmp/yaml/yaml-2.2.1/parse.c -o parse.lo -MMD -MF parse.dep -MT parse.lo
2: cc -I. -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/include -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/main -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pickle.tmp/yaml/yaml-2.2.1/parse.c -MMD -MF parse.dep -MT parse.lo -fPIC -DPIC -o .libs/parse.o
2: /bin/sh /tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/libtool --mode=compile cc -I. -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/include -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/main -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pickle.tmp/yaml/yaml-2.2.1/emit.c -o emit.lo -MMD -MF emit.dep -MT emit.lo
2: cc -I. -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/include -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/main -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pickle.tmp/yaml/yaml-2.2.1/emit.c -MMD -MF emit.dep -MT emit.lo -fPIC -DPIC -o .libs/emit.o
2: /bin/sh /tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/libtool --mode=compile cc -I. -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/include -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/main -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pickle.tmp/yaml/yaml-2.2.1/detect.c -o detect.lo -MMD -MF detect.dep -MT detect.lo
2: cc -I. -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/include -I/tmp/pickle.tmp/pickle-c01c50303518c74c0c424557f3d8de4f4a712437/main -I/tmp/pickle.tmp/yaml/yaml-2.2.1 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pickle.tmp/yaml/yaml-2.2.1/detect.c -MMD -MF detect.dep -MT detect.lo -fPIC -DPIC -o .libs/detect.o
2: /tmp/pickle.tmp/yaml/yaml-2.2.1/detect.c: In function 'scalar_is_numeric':
2: /tmp/pickle.tmp/yaml/yaml-2.2.1/detect.c:545:24: error: macro "ZEND_ATOL" passed 2 arguments, but takes just 1
2: 545 | ZEND_ATOL(*lval, buf);
2: | ^
2: In file included from /usr/local/include/php/Zend/zend_range_check.h:22,
2: from /usr/local/include/php/Zend/zend_portability.h:74,
2: from /usr/local/include/php/Zend/zend_types.h:25,
2: from /usr/local/include/php/Zend/zend.h:27,
2: from /usr/local/include/php/main/php.h:31,
2: from /tmp/pickle.tmp/yaml/yaml-2.2.1/php_yaml.h:46,
2: from /tmp/pickle.tmp/yaml/yaml-2.2.1/detect.c:36:
2: /usr/local/include/php/Zend/zend_long.h:76: note: macro "ZEND_ATOL" defined here
2: 76 | # define ZEND_ATOL(s) atoll((s))
2: |
2: /tmp/pickle.tmp/yaml/yaml-2.2.1/detect.c:545:4: error: 'ZEND_ATOL' undeclared (first use in this function); did you mean 'ZEND_AST_OR'?
2: 545 | ZEND_ATOL(*lval, buf);
2: | ^~~~~~~~~
2: | ZEND_AST_OR
2: /tmp/pickle.tmp/yaml/yaml-2.2.1/detect.c:545:4: note: each undeclared identifier is reported only once for each function it appears in
From manual page: https://php.net/language.types.string
Heredoc documentation still insists, with a big red warning box and an example, that the closing marker must be by itself on a line without leading whitespace and trailed by only at most a semicolon. This is not true since PHP 7.3, which introduced “flexible” heredoc/nowdoc syntax.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.