PHP, which stands for "PHP: Hypertext Preprocessor" is a widely-used Open
Source general-purpose scripting language that is especially suited for
Web development and can be embedded into HTML. Its syntax draws upon C,
Java, and Perl, and is easy to learn. The main goal of the language is to
allow web developers to write dynamically generated webpages quickly, but
you can do much more with PHP.
WWW: https://www.php.net/
===> The following configuration options are available for php73-7.3.33:
CLI=on: Build CLI version
CGI=on: Build CGI version
FPM=on: Build FPM version
EMBED=on: Build embedded library
PHPDBG=off: Interactive PHP debugger
DEBUG=off: Build with debugging support
DTRACE=on: Build with DTrace probes
IPV6=on: IPv6 protocol support
MYSQLND=on: Build with MySQL Native Driver
LINKTHR=on: Link thread lib (for threaded extensions)
ZTS=off: Force Zend Thread Safety (ZTS) build
===> Use 'make config' to modify these settings
Fix fetch for php*
- Primary hosting provider of php has introduced some sort of checking
which is blocking fetch although curl/wget works perfectly. fetch with
other --user-agent is also not working at the moment. An issue has been
opened with the upstream which can be found at:
https://github.com/php/web-php/issues/483
- Untill this is fixed add php Github distributions URL to MASTER_SITES
- Modify MASTER_SITES for php[73|74|80] and remove SUBDIR as it affects
DIST_SUBDIR
- Add DIST_SUBDIR as Github is IPv4 only which affects IPv6 only
builders. In case someone is running IPv6 only builders distcache will
pickup and serve.
- Although distinfo has been updated as we have added DIST_SUBDIR but
SHA256 and SIZE are unchanged. In case someone needs to verify those
are available from https://www.php.net/downloads
- We might have done some drastic changes but we are on the brink of
quarterly build and we do not want to start a new year and a new
quarter with BROKEN php and thousands of other ports.
PR: 260699
Reported by: chris@cretaforce.gr
Approved by: portmgr (blanket infrastructure)
Sponsored by: Bounce Experts
lang/php73: Mark DEPRECATED
- Upstream active support expired on 2021-12-06
- Set to EXPIRE on 2021-01-25
Approved by: tz (via private mail)
Sponsored by: Bounce Experts
*/*: Remove redundant '-*' from CONFLICTS definitions
The conflict checks compare the patterns first against the package
names without version (as reported by "pkg query "%n"), then - if
there was no match - agsinst the full package names including the
version (as reported by "pkg query "%n-%v").
Approved by: portmgr (blanket)
lang/php73: Upgrade from 7.3.32 to 7.3.33
XML:
Fixed bug #79971 (special character is breaking the path in xml function).
(CVE-2021-21707)
Sponsored by: Bounce Experts
lang/php73: Upgrade from 7.3.31 to 7.3.32
Changelog:
FPM:
Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege
escalation). (CVE-2021-21703)
lang/php7*: adjust CONFLICTS to new versions
PHP 7.3 conflicted with versions no longer in the ports-tree. Remove this
conflicts.
PHP 7.3 and 7.4 did not conflict with PHP 8.0. Add the missing conflict.
PR: 258803
Reported by: Einar Bjarni Halldórsson <einar@isnic.is>
Sponsored by: Bounce Experts
lang/php73: Upgrade from 7.3.29 to 7.3.30
Changelog:
Phar:
Fixed bug #81211: Symlinks are followed when creating PHAR archive.
Sponsored by: Bounce Experts
lang/php73: Update from 7.3.22 to 7.3.23
Core:
Fixed bug #80048 (Bug #69100 has not been fixed for Windows).
Fixed bug #80049 (Memleak when coercing integers to string via variadic
argument).
Fixed bug #79699 (PHP parses encoded cookie names so malicious `__Host-`
cookies can be sent). (CVE-2020-7070)
Calendar:
Fixed bug #80007 (Potential type confusion in unixtojd() parameter
parsing).
COM:
Fixed bug #64130 (COM obj parameters passed by reference are not
updated).
OPcache:
Fixed bug #80002 (calc free space for new interned string is wrong).
Fixed bug #79825 (opcache.file_cache causes SIGSEGV when custom opcode
handlers changed).
OpenSSL:
Fixed bug #79601 (Wrong ciphertext/tag in AES-CCM encryption for a 12
bytes IV). (CVE-2020-7069)
(Only the first 15 lines of the commit message are shown above )
lang/php73: Update from 7.3.20 to 7.3.21
Changelog:
Apache:
Fixed bug #79030 (Upgrade apache2handler's
php_apache_sapi_get_request_time to return usec).
Core:
Fixed bug #79877 (getimagesize function silently truncates after a null
byte).
Fixed bug #79778 (Assertion failure if dumping closure with unresolved
static variable).
Fixed bug #79792 (HT iterators not removed if empty array is destroyed).
COM:
Fixed bug #63208 (BSTR to PHP string conversion not binary safe).
Fixed bug #63527 (DCOM does not work with Username, Password parameter).
Curl:
Fixed bug #79741 (curl_setopt CURLOPT_POSTFIELDS asserts on object with
declared properties).
(Only the first 15 lines of the commit message are shown above )
mail/php7[2-4]-imap: change client from cclient to panda-cclient
There are some reports about PHP crashes, when using php-imap
(especially with OpenSSL and TSL 1.3). All this problems went away,
when using the panda-cclient instead of the old cclient.
Therefore we make the panda-cclient the new default,
but still allow cclient in order to allow backwards compatibility.
Special thanks to bofh for figuring out the complex details and
the solution!
Special thanks to Jason for being patience and
helpful about so many months!
Reported by: Jason de Cordoba <jason@aventia.pw>
Reviewed by: bofh
Sponsored by: Bounce Experts
lang/php73: Update from 7.3.17 to 7.3.18
Changelog:
Core:
Fixed bug #78875 (Long filenames cause OOM and temp files are not
cleaned). (CVE-2019-11048)
Fixed bug #78876 (Long variables in multipart/form-data cause OOM and
temp files are not cleaned). (CVE-2019-11048)
Fixed bug #79434 (PHP 7.3 and PHP-7.4 crash with NULL-pointer
dereference on !CS constant).
Fixed bug #79477 (casting object into array creates references).
Fixed bug #79470 (PHP incompatible with 3rd party file system on
demand).
Fixed bug #78784 (Unable to interact with files inside a VFS for Git
repository).
DOM:
Fixed bug #78221 (DOMNode::normalize() doesn't remove empty text nodes).
FCGI:
Fixed bug #79491 (Search for .user.ini extends up to root dir).
(Only the first 15 lines of the commit message are shown above )
lang/php73: Update from 7.3.13 to 7.3.14
Changelog:
Core:
Fixed bug #78999 (Cycle leak when using function result as temporary).
CURL:
Fixed bug #79033 (Curl timeout error with specific url and post).
Date:
Fixed bug #79015 (undefined-behavior in php_date.c).
DBA:
Fixed bug #78808 ([LMDB] MDB_MAP_FULL: Environment mapsize limit
reached).
Fileinfo:
Fixed bug #74170 (locale information change after mime_content_type).
GD:
(Only the first 15 lines of the commit message are shown above )
Unbreak databases/php73-mysqli when lang/php73 is build with MYSQLND=off
Currently when building lang/php73 with MYSQLND=off, its im possible to
build databases/php73-mysqli. When the option MYSQLND was added, we expected
users to not use mysqli at all after disabling this option.
This has proven to be wrong, so we patch the build to be work again.
patch-ext_mysqli_mysqli__api.c was submitted by Sergei <joker@pinnet.ru>.
Merge patches from r522478 into this commit and add two additional patches.
Add USES=xorg USES=gl, ports categories l
Add USES=xorg and USES=gl to ports in categories starting with 'l'
While here, try to sprinkle other USES (mostly gnome and sdl) as needed.
lang/php73: Update from 7.3.10 to 7.3.11
Changelog:
Core:
Fixed bug #78535 (auto_detect_line_endings value not parsed as bool).
Fixed bug #78620 (Out of memory error).
Exif:
Fixed bug #78442 ('Illegal component' on exif_read_data since PHP7)
(Kalle)
FPM:
Fixed bug #78599 (env_path_info underflow in fpm_main.c can lead to
RCE). (CVE-2019-11043)
Fixed bug #78413 (request_terminate_timeout does not take effect after
fastcgi_finish_request).
MBString:
Fixed bug #78633 (Heap buffer overflow (read) in mb_eregi).
Fixed bug #78579 (mb_decode_numericentity: args number inconsistency).
(Only the first 15 lines of the commit message are shown above )
lang/php73: Update from 7.3.9 to 7.3.10
Changelog:
Core:
Fixed bug #78220 (Can't access OneDrive folder).
Fixed bug #77922 (Double release of doc comment on inherited shadow
property).
Fixed bug #78441 (Parse error due to heredoc identifier followed by
digit).
Fixed bug #77812 (Interactive mode does not support PHP 7.3-style
heredoc).
FastCGI:
Fixed bug #78469 (FastCGI on_accept hook is not called when using named
pipes on Windows).
FPM:
Fixed bug #78334 (fpm log prefix message includes wrong stdout/stderr
notation).
Intl:
Ensure IDNA2003 rules are used with idn_to_ascii() and idn_to_utf8()
when requested.
(Only the first 15 lines of the commit message are shown above )
lang/php73: Upgrade from 7.3.4 to 7.3.5
Changelog:
Core:
Fixed bug #77903 (ArrayIterator stops iterating after offsetSet call).
CLI:
Fixed bug #77794 (Incorrect Date header format in built-in server).
EXIF:
Fixed bug #77950 (Heap-buffer-overflow in _estrndup via
exif_process_IFD_TAG).
Interbase:
Fixed bug #72175 (Impossibility of creating multiple connections to
Interbase with php 7.x).
Intl:
Fixed bug #77895 (IntlDateFormatter::create fails in strict mode if
$locale = null).
litespeed:
(Only the first 15 lines of the commit message are shown above )
lang/php73: convert CPPFLAGS from /usr/local to ${LOCALBASE}
As mat point out too often: if you write /usr/local you should write
${LOCALBASE}
PR: 237722
Reported by: mikael.urankar@gmail.com
lang/php73: enable PRCE2 JIT support
This will speed up certain PHP scripts relying on regex matches.
PR: 237722
Submitted by: Jon Tejnung <jon@herrskogen.se>
PHP: Add Synth to pkg-message advice
pkg-message currently states the advice to add WITH_MPM=event
if its build by poudriere and with ZTS option enabled.
This is also true if Synth is used, therefore adding it.
Reported by: Dennis <denradford@gmail.com>
lang/php73: Upgrade from 7.3.2 to 7.3.3
Changelog:
Core:
Fixed bug #77589 (Core dump using parse_ini_string with numeric
sections).
Fixed bug #77329 (Buffer Overflow via overly long Error Messages).
Fixed bug #77494 (Disabling class causes segfault on member access).
Fixed bug #77498 (Custom extension Segmentation fault when declare
static property).
Fixed bug #77530 (PHP crashes when parsing `(2)::class`).
Fixed bug #77546 (iptcembed broken function).
Fixed bug #77630 (rename() across the device may allow unwanted access
during processing).
COM:
Fixed bug #77621 (Already defined constants are not properly reported).
Fixed bug #77626 (Persistence confusion in php_com_import_typelib()).
(Only the first 15 lines of the commit message are shown above )
lang/php73: Upgrade from 7.3.1 to 7.3.2
Changelog:
Core:
Fixed bug #77369 (memcpy with negative length via crafted DNS response).
Fixed bug #77387 (Recursion detection broken when printing GLOBALS).
Fixed bug #77376 ("undefined function" message no longer includes
namespace).
Fixed bug #77357 (base64_encode / base64_decode doest not work on nested
VM).
Fixed bug #77339 (__callStatic may get incorrect arguments).
Fixed bug #77317 (__DIR__, __FILE__, realpath() reveal physical path for
subst virtual drive).
Fixed bug #77263 (Segfault when using 2 RecursiveFilterIterator).
Fixed bug #77447 (PHP 7.3 built with ASAN crashes in
zend_cpu_supports_avx2).
Fixed bug #77484 (Zend engine crashes when calling realpath in invalid
working dir).
Curl:
(Only the first 15 lines of the commit message are shown above )
lang/php72 and lang/php73: improve documentation of php-fpm specific www.conf
If you only define a port to listen in www.conf, PHP defaults to listen
only to IPv6 ports on FreeBSD. On other OS it listens to IPv6 and IPv4.
Since upstream do not want to fix this [1], we add this special case to
the documentation.
Because the configuration file is a @sample it wont be updated for already
changed files. Therefore i do not bump PORTREVISION.
PR: 235141
Submitted by: Artyom Davidov <ard_1@mail.ru>
[1] https://bugs.php.net/bug.php?id=74166
lang/php7*: Rename option MYSQL to MYSQLND
Renaming the option to be inline with the already existing MYSQLND option
in the mysqli and pdo_mysqli ports.
Reported by: Jarrod Sayers <jarrod@downtools.com.au>
lang/php73: Make enabling MYSQL native driver optional
Currently PHP is always compiled with --enable-mysqlnd, to allow the use
of the native MySQL Native Driver. MySQL Native Driver is a replacement for the
MySQL Client Library.
While this is handy when working with MySQL there is no need for
it when MySQL is *not* used at all. This happens frequently when
working without databases or simply with other databases.
To avoid POLA the newly introduced option is a default option.
Disabling it will reduce the size of the package by ca. 175 KB,
which also helps in modern constraint VM run environments.
Submitted by: Reko Turja <reko.turja@liukuma.net>
lang/php73: Upgrade from 7.3.0 to 7.3.1
Changelog:
Core:
Fixed bug #76654 (Build failure on Mac OS X on 32-bit Intel).
Fixed bug #71041 (zend_signal_startup() needs ZEND_API).
Fixed bug #76046 (PHP generates "FE_FREE" opcode on the wrong line).
Fixed bug #77291 (magic methods inherited from a trait may be ignored).
CURL:
Fixed bug #77264 (curl_getinfo returning microseconds, not seconds).
COM:
Fixed bug #77177 (Serializing or unserializing COM objects crashes).
Exif:
Fixed bug #77184 (Unsigned rational numbers are written out as signed
rationals).
(Only the first 15 lines of the commit message are shown above )
lang/php73: link with -znotext on i386
This port links some non-PIC code, which fails with lld as it defaults
to disallowing relocations against read-only segments. For i386 we can
just add -znotext unconditionally: for GNU BFD ld it just affirms BFD's
existing default.
PR: 214864, 230207
Sponsored by: The FreeBSD Foundation
Add PHP 7.3 RC2 to the ports-tree.
Notable changes:
- Switch from PCRE to PCRE2
- Many modules now require PCRE2 for building
- graphics/php73-gd: X11 option is no longer default
Changes to Mk/Uses/php.mk approved by ale