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.
===> The following configuration options are available for php74-7.4.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
Reason:
The default version of PHP has been switched from 7.4 to 8.0.
If you use binary packages you should make a list of php packages
before running 'pkg upgrade':
# pkg info \*php7\* > ~/installed-php-ports-list
After the upgrade, check with such list if all your php extensions
are still installed, and reinstall them if needed.
If you use mod_php74 you need to deinstall it and install mod_php80.
Port Moves
port moved to lang/php80 on 2022-12-25 REASON: Has expired: Security support ended on 2022-11-22
port moved here from lang/php73 on 2022-01-26 REASON: Has expired: Security support ended on 2021-12-06
*/*php74*: Sunset php 7.4
As per upstream php 7.4 has reached it's EOL on 2022-11-22. Remove php74
from the tree. Default version of php has already been switched to 8.1.
Approved by: portmgr (blanket infrastructure)
Sponsored by: Bounce Experts
lang/php74: Update version 7.4.30=>7.4.32
* Core:
- Fixed bug #81726: phar wrapper: DOS when using quine gzip file.
(CVE-2022-31628)
- Fixed bug #81727: Don't mangle HTTP variable names that clash with
ones that have a specific semantic meaning. (CVE-2022-31629)
Relnotes: https://www.php.net/ChangeLog-7.php
Sponsored by: Bounce Experts
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
lang/php74: Upgrade from 7.4.28 to 7.4.29
Changelog:
Core:
No source changes to this release. This update allows for re-building
the Windows binaries against upgraded dependencies which have received security
updates.
Date:
Updated to latest IANA timezone database (2022a).
Sponsored by: Bounce Experts
textproc/libxml2: bump all LIB_DEPENDS consumers
This is a separate commit to facilitate easier cherry-picking for
quarterly.
PR: 262853, 262940, 262877, 263126
Approved by: fluffy (mentor)
textproc/libxml2: bump all dependencies
This should make sure that all dependent ports will pick
up the new version commited with a13ec21cd733f67a9fc0dc00ab45268bdc236246
pcre: fix runtime issues on powerpc
In sljitConfigInternal.h, pcre checks for existence of __builtin___clear_cache()
function.
LLVM provides that function for all platforms, even those that don't have
implemented flushing the cache.
This leads to runtime errors on e.g. powerpc (32-bit) with __clear_cache()
calling compilerrt_abort(), resulting in SIGABRT.
lang/php74: Update version 7.4.27=>7.4.28
Filter:
Fix #81708: UAF due to php_filter_float() failing for ints
(CVE-2021-21708)
CVE is not yet published.
Approved by: tz (private email)
Sponsored by: Bounce Experts
lang/php??: make CONFLICTS_INSTALL visible to PHP module ports
The definition of CONFLICTS_INSTALL already included ${PKGNAMESUFFIX},
but in a block that was conditional on ${PKGNAMESUFFIX} not being
defined, defying the purpose.
After this change all ports that refer to the lang/php?? interpreter
ports get an automatic CONFLICTS_INSTALL definition that prevents the
installation of the same module for multiple interpreter versions.
This change adds correct CONFLICTS_INSTALL definitions to hundreds of
PHP ports that previously lacked any such definition.
PHP modules can override this generated CONFLICTS_INSTALL definition
in their Makefiles, if required.
Approved by: portmgr (implicit)
lang/php74{-extensions}: Mark DEPRECATED
Security support for php74 will expire on 28th November, 2022. For
details please see:
https://www.php.net/supported-versions
EXPIRATION_DATE has been set 1 day after the EOL.
A metabug has been created to track which ports explicitly depends on
php74{-extensions} only; which is available at:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261604
PR: 261604
Approved by: tz (private email)
Sponsored by: Bounce Experts
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
*/*: 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/php74: Upgrade from 7.4.25 to 7.4.26
Core:
Fixed bug #81518 (Header injection via default_mimetype /
default_charset).
Date:
Fixed bug #81500 (Interval serialization regression since 7.3.14 /
7.4.2).
MBString:
Fixed bug #76167 (mbstring may use pointer from some previous request).
MySQLi:
Fixed bug #81494 (Stopped unbuffered query does not throw error).
PCRE:
Fixed bug #81424 (PCRE2 10.35 JIT performance regression).
Streams:
Fixed bug #54340 (Memory corruption with user_filter).
XML:
Fixed bug #79971 (special character is breaking the path in xml
function). (CVE-2021-21707)
Also include a patch to fix issue 259725:
dns_get_record fails when requested record doesn't exist
PR: 259725
Reported by: fsbruva@yahoo.com
Sponsored by: Bounce Experts
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/php74: Update from 7.4.21 to 7.4.22
Changelog:
Core:
Fixed bug #81145 (copy() and stream_copy_to_stream() fail for +4GB
files).
Fixed bug #81163 (incorrect handling of indirect vars in __sleep).
Fixed bug #80728 (PHP built-in web server resets timeout when it can
kill the process).
Fixed bug #73630 (Built-in Weberver - overwrite
$_SERVER['request_uri']).
Fixed bug #80173 (Using return value of zend_assign_to_variable() is not
safe).
Fixed bug #73226 (--r[fcez] always return zero exit code).
Intl:
Fixed bug #72809 (Locale::lookup() wrong result with canonicalize
option).
Fixed bug #68471 (IntlDateFormatter fails for "GMT+00:00" timezone).
Fixed bug #74264 (grapheme_strrpos() broken for negative offsets).
OpenSSL:
Fixed bug #52093 (openssl_csr_sign truncates $serial).
PCRE:
Fixed bug #81101 (PCRE2 10.37 shows unexpected result).
Fixed bug #81243 (Too much memory is allocated for preg_replace()).
Standard:
Fixed bug #81223 (flock() only locks first byte of file).
Sponsored by: Bounce Experts
lang/php74: Update from 7.4.18 to 7.4.19
PDO_pgsql:
Revert "Fixed bug #80892 (PDO::PARAM_INT is treated the same as
PDO::PARAM_STR)"
Sponsored by: Bounce Experts
lang/php74: Update from 7.4.16 to 7.4.18
Changelog:
Core:
Fixed bug #80781 (Error handler that throws ErrorException infinite
loop).
Fixed bug #75776 (Flushing streams with compression filter is broken).
(cmb) 04 Mar 2021, php 7.4.16
Fixed #80706 (mail(): Headers after Bcc headers may be ignored).
Dba:
Fixed bug #80817 (dba_popen() may cause segfault during RSHUTDOWN).
DOM:
Fixed bug #66783 (UAF when appending DOMDocument to element).
FPM:
Fixed bug #80024 (Duplication of info about inherited socket after pool
removing).
FTP:
(Only the first 15 lines of the commit message are shown above )
lang/php74: Update from 7.4.14 to 7.4.15
Core:
Fixed bug #80523 (bogus parse error on >4GB source code).
Fixed bug #80384 (filter buffers entire read until file closed).
Curl:
Fixed bug #80595 (Resetting POSTFIELDS to empty array breaks request).
Date:
Fixed bug #80376 (last day of the month causes runway cpu usage.
MySQLi:
Fixed bug #67983 (mysqlnd with MYSQLI_OPT_INT_AND_FLOAT_NATIVE fails to
interpret bit columns).
Fixed bug #64638 (Fetching resultsets from stored procedure with cursor
fails).
Fixed bug #72862 (segfault using prepared statements on stored
procedures that use a cursor).
Fixed bug #77935 (Crash in mysqlnd_fetch_stmt_row_cursor when calling an
SP with a cursor).
Phar:
Fixed bug #77565 (Incorrect locator detection in ZIP-based phars).
Fixed bug #69279 (Compressed ZIP Phar extractTo() creates garbage
files).
SOAP:
Fixed bug #80672 (Null Dereference in SoapClient). (CVE-2021-21702)
Sponsored by: PHP Update Service
lang/php74: Upgrade from 7.4.13 to 7.4.14
Core:
Fixed bug #74558 (Can't rebind closure returned by
Closure::fromCallable()).
Fixed bug #80345 (PHPIZE configuration has outdated
PHP_RELEASE_VERSION).
Fixed bug #72964 (White space not unfolded for CC/Bcc headers).
Fixed bug #80362 (Running dtrace scripts can cause php to crash).
Fixed bug #80393 (Build of PHP extension fails due to configuration gap
with libtool).
Fixed bug #80402 (configure filtering out -lpthread).
Fixed bug #77069 (stream filter loses final block of data).
Fileinfo:
Fixed bug #77961 (finfo_open crafted magic parsing SIGABRT).
FPM:
Fixed bug #69625 (FPM returns 200 status on request without
SCRIPT_FILENAME env).
Intl:
(Only the first 15 lines of the commit message are shown above )
lang/php74: Update from 7.4.11 to 7.4.12
Changelog:
Core:
Fixed bug #80061 (Copying large files may have suboptimal performance).
Fixed bug #79423 (copy command is limited to size of file it can copy).
Fixed bug #80126 (Covariant return types failing compilation).
Fixed bug #80186 (Segfault when iterating over FFI object).
Calendar:
Fixed bug #80185 (jdtounix() fails after 2037).
IMAP:
Fixed bug #80213 (imap_mail_compose() segfaults on certain $bodies).
Fixed bug #80215 (imap_mail_compose() may modify by-val parameters).
Fixed bug #80220 (imap_mail_compose() may leak memory).
(Only the first 15 lines of the commit message are shown above )
lang/php74: Update from 7.4.10 to 7.4.11
Core:
Fixed bug #79699 (PHP parses encoded cookie names so malicious `__Host-`
cookies can be sent). (CVE-2020-7070)
Fixed bug #79979 (passing value to by-ref param via CUFA crashes).
Fixed bug #80037 (Typed property must not be accessed before
initialization when __get() declared).
Fixed bug #80048 (Bug #69100 has not been fixed for Windows).
Fixed bug #80049 (Memleak when coercing integers to string via variadic
argument).
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 #80046 (FREE for SWITCH_STRING optimized away).
(Only the first 15 lines of the commit message are shown above )
lang/php74: Add missing dependency from php74-xmlreader to php74-dom
xmlreader needs not only the DOM extension, but to be compiled
with --enabled-dom. This commit adds the missing configuration
to etablish the dependency.
PR: 249886
Submitted by: michael.glaus@hostpoint.ch
Sponsored by: Bounce Experts
lang/php74: Upgrade from 7.4.9 to 7.4.10
Changelog:
Core:
Fixed bug #79884 (PHP_CONFIG_FILE_PATH is meaningless).
Fixed bug #77932 (File extensions are case-sensitive).
Fixed bug #79806 (realpath() erroneously resolves link to link).
Fixed bug #79895 (PHP_CHECK_GCC_ARG does not allow flags with equal
sign).
Fixed bug #79919 (Stack use-after-scope in define()).
Fixed bug #79934 (CRLF-only line in heredoc causes parsing error).
Fixed bug #79947 (Memory leak on invalid offset type in compound
assignment).
COM:
Fixed bug #48585 (com_load_typelib holds reference, fails on second
call).
Exif:
(Only the first 15 lines of the commit message are shown above )
lang/php74: Update from 7.4.8 to 7.4.9
Changelog:
Apache:
Fixed bug #79030 (Upgrade apache2handler's
php_apache_sapi_get_request_time to return usec).
COM:
Fixed bug #63208 (BSTR to PHP string conversion not binary safe).
Fixed bug #63527 (DCOM does not work with Username, Password parameter).
Core:
Fixed bug #79740 (serialize() and unserialize() methods can not be
called statically).
Fixed bug #79783 (Segfault in php_str_replace_common).
Fixed bug #79778 (Assertion failure if dumping closure with unresolved
static variable).
Fixed bug #79779 (Assertion failure when assigning property of string
offset by reference).
Fixed bug #79792 (HT iterators not removed if empty array is destroyed).
(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/php74: Update from 7.4.6 to 7.4.7
Core:
Fixed bug #78434 (Generator yields no items after valid() call).
Fixed bug #79477 (casting object into array creates references).
Fixed bug #79514 (Memory leaks while including unexistent file).
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).
Fixed bug #78875 (Long variables 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).
DOM:
Fixed bug #78221 (DOMNode::normalize() doesn't remove empty text nodes).
EXIF:
Fixed bug #79336 (ext/exif/tests/bug79046.phpt fails on Big endian
arch).
FCGI:
(Only the first 15 lines of the commit message are shown above )
lang/php74: Update from 7.4.5 to 7.4.6
Changelog:
Core:
Fixed bug #78434 (Generator yields no items after valid() call).
Fixed bug #79477 (casting object into array creates references).
Fixed bug #79514 (Memory leaks while including unexistent file).
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).
Fixed bug #78875 (Long variables 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).
DOM:
Fixed bug #78221 (DOMNode::normalize() doesn't remove empty text nodes).
EXIF:
(Only the first 15 lines of the commit message are shown above )
lang/php74: disable DTRACE on powerpc and powerpc64
DTRACE works on 12.1 and head with php72 and php73, but seems to have problems
with php74 and 12.1 (head works fine).
lang/php74: Upgrade from 7.4.1 to 7.4.2
Changelog:
Core:
Preloading support on Windows has been disabled.
Fixed bug #79022 (class_exists returns True for classes that are not
ready to be used).
Fixed bug #78929 (plus signs in cookie values are converted to spaces).
Fixed bug #78973 (Destructor during CV freeing causes segfault if opline
never saved).
Fixed bug #78776 (Abstract method implementation from trait does not
check "static").
Fixed bug #78999 (Cycle leak when using function result as temporary).
Fixed bug #79008 (General performance regression with PHP 7.4 on
Windows).
Fixed bug #79002 (Serializing uninitialized typed properties with
__sleep makes unserialize throw).
CURL:
Fixed bug #79033 (Curl timeout error with specific url and post).
(Only the first 15 lines of the commit message are shown above )
Unbreak databases/php74-mysqli when lang/php74 is build with MYSQLND=off
Currently when building lang/php74 with MYSQLND=off, its im possible to
build databases/php74-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 r522539 into this commit and add two additional patches.
ftp/php74-ftp: Fix Undefined symbol "SSL_library_init"
The ftp module always compiles against the base openssl,
causes the error on FreeBSD 11.3. All other ports based
on OpenSSL import the needed openssl from ports, if its
not in base. Therefore we adjust the behaviour of the
ftp module to match for example the imap module.
PR: 241591
Submitted by: Pascal Christen <pascal.christen@hostpoint.ch>
lang/php74: Update from 7.4.0RC 6 to 7.4.0
The PHP development team announces the immediate availability of PHP 7.4.0. This
release marks the fourth feature update to the PHP 7 series.
PHP 7.4.0 comes with numerous improvements and new features such as:
Typed Properties
Arrow Functions
Limited Return Type Covariance and Argument Type Contravariance
Unpacking Inside Arrays
Numeric Literal Separator
Weak References
Allow Exceptions from __toString()
Opcache Preloading
Several Deprecations
(Only the first 15 lines of the commit message are shown above )
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/php74: fix build on GCC architectures
Use C11 compiler because of:
/wrkdirs/usr/ports/lang/php74/work/php-7.4.0RC1/Zend/zend_compile.h:363: error:
redefinition of typedef 'zend_property_info'
/wrkdirs/usr/ports/lang/php74/work/php-7.4.0RC1/Zend/zend_types.h:385: error:
previous declaration of 'zend_property_info' was here
Disable DTRACE on powerpc64 due to:
dtrace: failed to link script
/usr/local/poudriere/ports/default/lang/php74/work/php-7.4.0RC1/Zend/zend_dtrace.d:
an error was encountered while processing main/.libs/main.o
PR: 240733
Approved by: tz (maintainer), linimon (mentor)
lang/php74: fix the broken patches
The same error cause from r512431 caused some patches missing or undeleted.
Now commit the missing changes in order to unbreak PHP.
Sponsored by: PHP Update Service
lang/php74: add module hash to PHP_EXT_INC
The hash module is now part of the core and can't be disabled anymore.
Therefore add it to the list
Reported by: ale
Sponsored by: PHP Update Service
Differential Revision: https://reviews.freebsd.org/D21349
Welcome PHP 7.4 RC 1 in the ports-tree.
There are many greater changes including:
- New module ffi
- Remove interbase module
- Remove recode module
- Remove wddx module
- Many modules changes the build switches
- Many modules changes the config format, so patches needed to be recreated
Special thanks to tobik and ale for their support.
Reviewed by: tobik, ale, joneum
Sponsored by: PHP Update Service
Differential Revision: https://reviews.freebsd.org/D21349