Package Details: php81-pcntl 8.1.28-1

Git Clone URL: https://aur.archlinux.org/php81.git (read-only, click to copy)
Package Base: php81
Description: pcntl module for php81
Upstream URL: http://www.php.net
Keywords: 8.1 php php8
Licenses: PHP
Submitter: el_aur
Maintainer: el_aur
Last Packager: el_aur
Votes: 10
Popularity: 0.001637
First Submitted: 2021-12-01 12:54 (UTC)
Last Updated: 2024-04-18 17:53 (UTC)

Pinned Comments

el_aur commented on 2022-02-02 08:43 (UTC) (edited on 2022-02-04 11:28 (UTC) by el_aur)

Created binary repository on build.opensuse.org

https://build.opensuse.org/project/show/home:el:archphp

For Arch Linux, edit /etc/pacman.conf and add the following (note that the order of repositories in pacman.conf is important, since pacman always downloads the first found package):

[home_el_archphp_Arch]
Server = https://download.opensuse.org/repositories/home:/el:/archphp/Arch/$arch

Then run the following as root

key=$(curl -fsSL https://download.opensuse.org/repositories/home:el:archphp/Arch/$(uname -m)/home_el_archphp_Arch.key)
fingerprint=$(gpg --quiet --with-colons --import-options show-only --import --fingerprint <<< "${key}" | awk -F: '$1 == "fpr" { print $10 }')
pacman-key --init
pacman-key --add - <<< "${key}"
pacman-key --lsign-key "${fingerprint}"

Refresh packages database

pacman -Syy

Now search for php packages you need:

pacman -Ss php81

Install with pacman -S packages you need or all PHP 8.1 packages with:

sudo pacman -S $(pacman -Ssq | grep '^php81')

el_aur commented on 2022-01-27 12:09 (UTC) (edited on 2022-01-27 15:19 (UTC) by el_aur)

Read Carefully! Breaking changes in compare with native PHP package

  1. Console version /usr/bin/php81 is installed with php81-cli subpackage, php81 doesn't include it anymore!!!

  2. PEAR and PECL are available as php81-pear and php81-pecl subpackages

  3. All shared modules are respresented as stand-alone subpackages and are not included with php81 package anymore.

  4. No more extensions in php.ini itself!

Separate INI files for each extension are placed in /etc/php81/conf.d

They are loaded in correct order according to priority

Latest Comments

1 2 3 4 Next › Last »

DmitrySkibitsky commented on 2024-05-30 07:18 (UTC)

Build error

makepkg -si
....
/home/dmitry/Apps/php81/src/php-8.1.28/ext/libxml/libxml.c: In function ‘zif_libxml_use_internal_errors’:
/home/dmitry/Apps/php81/src/php-8.1.28/ext/libxml/libxml.c:981:48: warning: comparison of distinct pointer types lacks a cast [-Wcompare-distinct-pointer-types]
  981 |         if (current_handler && current_handler == php_libxml_structured_error_handler) {
      |                                                ^~
/home/dmitry/Apps/php81/src/php-8.1.28/ext/libxml/libxml.c:999:49: error: passing argument 2 of ‘xmlSetStructuredErrorFunc’ from incompatible pointer type [-Wincompatible-pointer-types]
  999 |                 xmlSetStructuredErrorFunc(NULL, php_libxml_structured_error_handler);
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                 |
      |                                                 void (*)(void *, xmlError *) {aka void (*)(void *, struct _xmlError *)}
In file included from /usr/include/libxml2/libxml/valid.h:15,
                 from /usr/include/libxml2/libxml/parser.h:19,
                 from /home/dmitry/Apps/php81/src/php-8.1.28/ext/libxml/libxml.c:32:
/usr/include/libxml2/libxml/xmlerror.h:898:57: note: expected ‘xmlStructuredErrorFunc’ {aka ‘void (*)(void *, const struct _xmlError *)’} but argument is of type ‘void (*)(void *, xmlError *)’ {aka ‘void (*)(void *, struct _xmlError *)’}
  898 |                                  xmlStructuredErrorFunc handler);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/home/dmitry/Apps/php81/src/php-8.1.28/ext/libxml/libxml.c: In function ‘zif_libxml_get_last_error’:
/home/dmitry/Apps/php81/src/php-8.1.28/ext/libxml/libxml.c:1016:15: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1016 |         error = xmlGetLastError();
      |               ^
make: *** [Makefile:968: ext/libxml/libxml.lo] Error 1
make: *** Waiting for unfinished jobs....
==> ERROR: A failure occurred in build().
    Aborting...

grkr commented on 2024-05-28 07:04 (UTC) (edited on 2024-05-28 07:18 (UTC) by grkr)

@florianorineveu try with these 2 patches:

From 0a39890c967aa57225bb6bdf4821aff7a3a3c082 Mon Sep 17 00:00:00 2001
From: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
Date: Fri, 1 Dec 2023 18:03:35 +0100
Subject: [PATCH 1/1] Fix libxml2 2.12 build due to API breaks

See https://github.com/php/php-src/actions/runs/7062192818/job/19225478601
---
 ext/libxml/libxml.c | 14 ++++++++++----
 ext/soap/php_sdl.c  |  2 +-
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/ext/libxml/libxml.c b/ext/libxml/libxml.c
index 22eb1901b8..1de693892b 100644
--- a/ext/libxml/libxml.c
+++ b/ext/libxml/libxml.c
@@ -472,7 +472,11 @@ static void _php_libxml_free_error(void *ptr)
    xmlResetError((xmlErrorPtr) ptr);
 }

-static void _php_list_set_error_structure(xmlErrorPtr error, const char *msg)
+#if LIBXML_VERSION >= 21200
+static void _php_list_set_error_structure(const xmlError *error, const char *msg)
+#else
+static void _php_list_set_error_structure(xmlError *error, const char *msg)
+#endif
 {
    xmlError error_copy;
    int ret;
@@ -725,7 +729,11 @@ PHP_LIBXML_API void php_libxml_ctx_warning(void *ctx, const char *msg, ...)
    va_end(args);
 }

+#if LIBXML_VERSION >= 21200
+PHP_LIBXML_API void php_libxml_structured_error_handler(void *userData, const xmlError *error)
+#else
 PHP_LIBXML_API void php_libxml_structured_error_handler(void *userData, xmlErrorPtr error)
+#endif
 {
    _php_list_set_error_structure(error, NULL);

@@ -957,11 +965,9 @@ PHP_FUNCTION(libxml_use_internal_errors)
 /* {{{ Retrieve last error from libxml */
 PHP_FUNCTION(libxml_get_last_error)
 {
-   xmlErrorPtr error;
-
    ZEND_PARSE_PARAMETERS_NONE();

-   error = xmlGetLastError();
+   const xmlError *error = xmlGetLastError();

    if (error) {
        object_init_ex(return_value, libxmlerror_class_entry);
diff --git a/ext/soap/php_sdl.c b/ext/soap/php_sdl.c
index 749f5a5685..b731114775 100644
--- a/ext/soap/php_sdl.c
+++ b/ext/soap/php_sdl.c
@@ -332,7 +332,7 @@ static void load_wsdl_ex(zval *this_ptr, char *struri, sdlCtx *ctx, int include)
    sdl_restore_uri_credentials(ctx);

    if (!wsdl) {
-       xmlErrorPtr xmlErrorPtr = xmlGetLastError();
+       const xmlError *xmlErrorPtr = xmlGetLastError();

        if (xmlErrorPtr) {
            soap_error2(E_ERROR, "Parsing WSDL: Couldn't load from '%s' : %s", struri, xmlErrorPtr->message);
-- 
2.45.1

and

From cc46a4e6b5a413bab3e264c1dcaaf7052f54fbc4 Mon Sep 17 00:00:00 2001
From: David Carlier <devnexen@gmail.com>
Date: Sat, 17 Feb 2024 21:38:21 +0000
Subject: [PATCH 1/1] ext/intl: level up c++ runtime std for icu 74 and
 onwards.

to align with what is required to build icu 74 itself.

Close GH-14002
---
 NEWS               |  3 +++
 ext/intl/config.m4 | 11 ++++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index bcff2820de..e5f8e3eba5 100644
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,9 @@ PHP                                                                        NEWS
   . Fixed bug GH-13563 (Setting bool values via env in FPM config fails).
     (Jakub Zelenka)

+- Intl:
+  . Fixed build for icu 74 and onwards. (dunglas)
+
 - MySQLnd:
   . Fix shift out of bounds on 32-bit non-fast-path platforms. (nielsdos)

diff --git a/ext/intl/config.m4 b/ext/intl/config.m4
index dd687bcd97..48f5147ca7 100644
--- a/ext/intl/config.m4
+++ b/ext/intl/config.m4
@@ -80,7 +80,16 @@ if test "$PHP_INTL" != "no"; then
     breakiterator/codepointiterator_methods.cpp"

   PHP_REQUIRE_CXX()
-  PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX)
+
+  AC_MSG_CHECKING([if intl requires -std=gnu++17])
+  AS_IF([test "$PKG_CONFIG icu-uc --atleast-version=74"],[
+    AC_MSG_RESULT([yes])
+    PHP_CXX_COMPILE_STDCXX(17, mandatory, PHP_INTL_STDCXX)
+  ],[
+    AC_MSG_RESULT([no])
+    PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX)
+  ])
+
   PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $PHP_INTL_STDCXX $ICU_CXXFLAGS"
   case $host_alias in
   *cygwin*) PHP_INTL_CXX_FLAGS="$PHP_INTL_CXX_FLAGS -D_POSIX_C_SOURCE=200809L"
-- 
2.45.1

florianorineveu commented on 2024-05-27 17:23 (UTC) (edited on 2024-05-27 17:33 (UTC) by florianorineveu)

Package fails to build again, libxml error... Error available at least on php56, php80 and php81

Log : https://pastebin.com/EUfv3LTx

el_aur commented on 2023-11-23 15:17 (UTC)

@jacklem thanks for fix, included to PKGBUILD

jacklem commented on 2023-11-22 19:33 (UTC) (edited on 2023-11-22 21:57 (UTC) by jacklem)

I FIXED THE ERRORS BY CHANGING THE FILES SHOWN HERE IN THE PHP SOURCE AT GITHUB https://github.com/php/php-src/commit/8a95e616b91ac0eeedba90a61e36e652919763f2

Package FAILS to build due to several similar errors in the file php.libxml.h from lines 148 to 154.

[...]php-8.1.25/ext/libxml/php_libxml.h: In function ‘php_libxml_sanitize_parse_ctxt_options’:
/php-8.1.25/ext/libxml/php_libxml.h:148:13: error: invalid use of incomplete typedef ‘xmlParserCtxt’ {aka ‘struct _xmlParserCtxt’}
  148 |         ctxt->loadsubset = 0;
      |             ^~
/php-8.1.25/ext/libxml/php_libxml.h:149:13: error: invalid use of incomplete typedef ‘xmlParserCtxt’ {aka ‘struct _xmlParserCtxt’}
  149 |         ctxt->validate = 0;
      |             ^~
/php-8.1.25/ext/libxml/php_libxml.h:150:13: error: invalid use of incomplete typedef ‘xmlParserCtxt’ {aka ‘struct _xmlParserCtxt’}
  150 |         ctxt->pedantic = 0;
      |             ^~
/php-8.1.25/ext/libxml/php_libxml.h:151:13: error: invalid use of incomplete typedef ‘xmlParserCtxt’ {aka ‘struct _xmlParserCtxt’}
  151 |         ctxt->replaceEntities = 0;
      |             ^~
/php-8.1.25/ext/libxml/php_libxml.h:152:13: error: invalid use of incomplete typedef ‘xmlParserCtxt’ {aka ‘struct _xmlParserCtxt’}
  152 |         ctxt->linenumbers = 0;
      |             ^~
/php-8.1.25/ext/libxml/php_libxml.h:153:13: error: invalid use of incomplete typedef ‘xmlParserCtxt’ {aka ‘struct _xmlParserCtxt’}
  153 |         ctxt->keepBlanks = 1;
      |             ^~
/php-8.1.25/ext/libxml/php_libxml.h:154:13: error: invalid use of incomplete typedef ‘xmlParserCtxt’ {aka ‘struct _xmlParserCtxt’}
  154 |         ctxt->options = 0;
      |             ^~

DmitrySkibitsky commented on 2023-10-17 09:47 (UTC) (edited on 2023-10-17 09:48 (UTC) by DmitrySkibitsky)

Upgraded to 8.1.24. Everything's fine. The only thing is that I still need to set values for CFLAGS and CXXFLAGS variables.

php -m                                                                                                 
[PHP Modules]
bcmath bz2 calendar Core ctype curl date dba dom enchant
exif FFI fileinfo filter ftp gd gettext gmp hash iconv imagick imap
intl json ldap libxml mbstring mysqli mysqlnd odbc openssl pcntl pcre
PDO pdo_dblib PDO_Firebird pdo_mysql PDO_ODBC pdo_pgsql pdo_sqlite pgsql Phar
posix pspell readline redis Reflection session shmop SimpleXML
snmp soap sockets sodium SPL sqlite3 standard sysvmsg sysvsem
sysvshm tidy tokenizer xml xmlreader xmlwriter xsl Zend OPcache zip zlib
[Zend Modules]
Zend OPcache
PHP 8.1.24 (cli) (built: Oct 17 2023 09:19:37) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.24, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.24, Copyright (c), by Zend Technologies

gebeer commented on 2023-07-31 14:49 (UTC)

@el_aur key for repo at build.opensuse.org seems to have changed. Following your instructions, pacman -Syy results in:

error: home_el_archphp_Arch: signature from "home:el OBS Project <home:el@build.opensuse.org>" is invalid

DmitrySkibitsky commented on 2023-07-12 12:44 (UTC) (edited on 2023-07-12 12:46 (UTC) by DmitrySkibitsky)

@el_aur I have upgraded to version 8.1.21. Thank you.

PHP 8.1.21 (cli) (built: Jul 12 2023 07:01:12) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.21, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.21, Copyright (c), by Zend Technologies
php -m
[PHP Modules]
bcmath bz2 calendar Core ctype curl date dba dom enchant exif FFI fileinfo
filter ftp gd gettext gmp hash iconv imagick imap intl json ldap libxml mbstring
mysqli mysqlnd odbc openssl pcntl pcre PDO pdo_dblib PDO_Firebird pdo_mysql PDO_ODBC
pdo_pgsql pdo_sqlite pgsql Phar posix pspell readline redis Reflection session
shmop SimpleXML snmp soap sockets sodium SPL sqlite3 standard sysvmsg sysvsem sysvshm
tidy tokenizer xml xmlreader xmlwriter xsl Zend OPcache zip zlib
[Zend Modules] Zend OPcache