Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/10/2017, à 11:54

Nelodie

PHP 7 et Module PCNTL.

Bonjour,

Suite à l'upgrade de ma machine serveur (Ubuntu 15 to 16.04), php s'est également mis à jour ( passage de 5.3 à 7.0.2).

J'avais une application web qui utilise pcntl pour vérifier qu'un fichier pdf est bien créé avant de proposer son téléchargement à l'utilisateur. La création du pdf pouvant mettre plus ou moins de temps selon les nombres graphes contenus.

Après la mise à jour de php, j'avais l'erreur :

 Fatal Error : Uncaught Error : call to undefined pcntlçfork() 

J'ai donc commenté la ligne "disable_functions= pcntl_alarm, ...." dans le fichier /etc/php/7.0/apache2/php.ini et relancer apache2 mais l'application ne fonctionner toujours pas.

Php Warning PHP startup: pcntl: unable to initialize module
Module compiled with mode API=20121212
PHP  compiled with mode API=20151012
These options need to match in Unknow on line 0

J'ai donc suivi la même procédure à l'époque pour php 5

cd /tmp
tar zxvf php-7.0.23.tar.gz
cd php-7.0.23/ext.pcntl
phpize
./configure
make
cd modules
cp pcntl.so /usr/lib/php/20151012
vi /etc/php/7.0/mods-available/pcntl.ini
extension=pcntl.so
cd /etc/php/7.0/apache2/conf.d
ln -s /etc/php/7.0/mods-available/pcntl.ini 20-pcntl.ini
vi /etc/php/7.0/apache2/php.ini
;disable_functions=...
sudo service apache2 restart

L'application fonctionne très bien mais .... je reçois toutes les 30 min le message suivant :

Cron <root@xxxxxxx>   [ -x /usr/lib/php/sessionclean ] && /usr/lib/php/sessionclean

PHP Warning:  Module 'pcntl' already loaded in Unknown on line 0

Merci de votre aide

php -v
PHP 7.0.22-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.22-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies

Dernière modification par Nelodie (Le 02/10/2017, à 11:54)

Hors ligne

#2 Le 02/10/2017, à 13:05

Nelodie

Re : PHP 7 et Module PCNTL.

J'ajoute le résultat d'une commande grep

sudo grep -r extension=pcntl.so /etc/
/etc/php/7.0/mods-available/pcntl.ini:extension=pcntl.so
/etc/php5/mods-available/pcntl.ini:;extension=pcntl.so
/etc/php5/conf.d/pcntl.ini:;extension=pcntl.so

J'ai commenté dans les version php5... est ce que le module est toujours active avec php5 ?

Hors ligne

#3 Le 02/10/2017, à 13:56

bruno

Re : PHP 7 et Module PCNTL.

Bonjour,

Si tu es sous Ubuntu 16.04 c'est PHP 7.0 qui est utilisé. Le dossier /etc/php5 ne devrait plus exister (sans doute des paquets php5 qui n'ont pas été désinstallés avec l'option "purge") et en tous cas n'est plus utilisé.

Le message d'erreur indique clairement que le chargement de l'extension pcntl est demandé plusieurs fois dans la configuration mais curieusement cela n'apparaît dans le résultat de ton grep…

Il faudrait voir le résultat de :

ls -l /etc/php/7.0/apache2/conf.d

Hors ligne

#4 Le 02/10/2017, à 13:59

Nelodie

Re : PHP 7 et Module PCNTL.

ls -l /etc/php/7.0/apache2/conf.d
total 0
lrwxrwxrwx 1 root root 39 sept. 15 11:23 10-mysqlnd.ini -> /etc/php/7.0/mods-available/mysqlnd.ini
lrwxrwxrwx 1 root root 39 sept. 15 11:23 10-opcache.ini -> /etc/php/7.0/mods-available/opcache.ini
lrwxrwxrwx 1 root root 35 sept. 15 11:23 10-pdo.ini -> /etc/php/7.0/mods-available/pdo.ini
lrwxrwxrwx 1 root root 35 sept. 15 11:23 15-xml.ini -> /etc/php/7.0/mods-available/xml.ini
lrwxrwxrwx 1 root root 40 sept. 15 11:22 20-calendar.ini -> /etc/php/7.0/mods-available/calendar.ini
lrwxrwxrwx 1 root root 37 sept. 15 11:22 20-ctype.ini -> /etc/php/7.0/mods-available/ctype.ini
lrwxrwxrwx 1 root root 35 sept. 15 11:23 20-dom.ini -> /etc/php/7.0/mods-available/dom.ini
lrwxrwxrwx 1 root root 36 sept. 15 11:22 20-exif.ini -> /etc/php/7.0/mods-available/exif.ini
lrwxrwxrwx 1 root root 40 sept. 15 11:22 20-fileinfo.ini -> /etc/php/7.0/mods-available/fileinfo.ini
lrwxrwxrwx 1 root root 35 sept. 15 11:23 20-ftp.ini -> /etc/php/7.0/mods-available/ftp.ini
lrwxrwxrwx 1 root root 34 sept. 15 12:15 20-gd.ini -> /etc/php/7.0/mods-available/gd.ini
lrwxrwxrwx 1 root root 39 sept. 15 11:23 20-gettext.ini -> /etc/php/7.0/mods-available/gettext.ini
lrwxrwxrwx 1 root root 35 sept. 15 12:15 20-gmp.ini -> /etc/php/7.0/mods-available/gmp.ini
lrwxrwxrwx 1 root root 37 sept. 15 11:23 20-iconv.ini -> /etc/php/7.0/mods-available/iconv.ini
lrwxrwxrwx 1 root root 36 sept. 22 15:03 20-imap.ini -> /etc/php/7.0/mods-available/imap.ini
lrwxrwxrwx 1 root root 36 sept. 15 11:23 20-json.ini -> /etc/php/7.0/mods-available/json.ini
lrwxrwxrwx 1 root root 40 sept. 15 11:23 20-mbstring.ini -> /etc/php/7.0/mods-available/mbstring.ini
lrwxrwxrwx 1 root root 38 sept. 15 12:15 20-mcrypt.ini -> /etc/php/7.0/mods-available/mcrypt.ini
lrwxrwxrwx 1 root root 38 sept. 15 11:23 20-mysqli.ini -> /etc/php/7.0/mods-available/mysqli.ini
lrwxrwxrwx 1 root root 37 sept. 22 15:52 20-pcntl.ini -> /etc/php/7.0/mods-available/pcntl.ini
lrwxrwxrwx 1 root root 41 sept. 15 11:23 20-pdo_mysql.ini -> /etc/php/7.0/mods-available/pdo_mysql.ini
lrwxrwxrwx 1 root root 36 sept. 15 11:23 20-phar.ini -> /etc/php/7.0/mods-available/phar.ini
lrwxrwxrwx 1 root root 37 sept. 15 11:23 20-posix.ini -> /etc/php/7.0/mods-available/posix.ini
lrwxrwxrwx 1 root root 38 sept. 25 10:17 20-propro.ini -> /etc/php/7.0/mods-available/propro.ini
lrwxrwxrwx 1 root root 37 sept. 25 10:17 20-raphf.ini -> /etc/php/7.0/mods-available/raphf.ini
lrwxrwxrwx 1 root root 40 sept. 15 11:23 20-readline.ini -> /etc/php/7.0/mods-available/readline.ini
lrwxrwxrwx 1 root root 37 sept. 15 11:23 20-shmop.ini -> /etc/php/7.0/mods-available/shmop.ini
lrwxrwxrwx 1 root root 41 sept. 15 11:23 20-simplexml.ini -> /etc/php/7.0/mods-available/simplexml.ini
lrwxrwxrwx 1 root root 39 sept. 15 11:23 20-sockets.ini -> /etc/php/7.0/mods-available/sockets.ini
lrwxrwxrwx 1 root root 39 sept. 15 11:23 20-sysvmsg.ini -> /etc/php/7.0/mods-available/sysvmsg.ini
lrwxrwxrwx 1 root root 39 sept. 15 11:23 20-sysvsem.ini -> /etc/php/7.0/mods-available/sysvsem.ini
lrwxrwxrwx 1 root root 39 sept. 15 11:23 20-sysvshm.ini -> /etc/php/7.0/mods-available/sysvshm.ini
lrwxrwxrwx 1 root root 41 sept. 15 11:23 20-tokenizer.ini -> /etc/php/7.0/mods-available/tokenizer.ini
lrwxrwxrwx 1 root root 36 sept. 15 11:23 20-wddx.ini -> /etc/php/7.0/mods-available/wddx.ini
lrwxrwxrwx 1 root root 41 sept. 15 11:23 20-xmlreader.ini -> /etc/php/7.0/mods-available/xmlreader.ini
lrwxrwxrwx 1 root root 41 sept. 15 11:23 20-xmlwriter.ini -> /etc/php/7.0/mods-available/xmlwriter.ini
lrwxrwxrwx 1 root root 35 sept. 15 11:23 20-xsl.ini -> /etc/php/7.0/mods-available/xsl.ini
lrwxrwxrwx 1 root root 35 sept. 21 13:38 20-zip.ini -> /etc/php/7.0/mods-available/zip.ini
lrwxrwxrwx 1 root root 41 sept. 25 10:17 25-pecl-http.ini -> /etc/php/7.0/mods-available/pecl-http.ini

Hors ligne

#5 Le 02/10/2017, à 14:24

bruno

Re : PHP 7 et Module PCNTL.

Je ne vois pas de doublons… Il faudrait aussi regarder dans /etc/php/7.0/apache2/php.ini

À tout hasard essaie de désactiver le module :

sudo phpdismod pcntl

Et vérifie si ton application fonctionne toujours, sinon réactive le module :

sudo phpenmod pcntl

Hors ligne

#6 Le 02/10/2017, à 17:30

Nelodie

Re : PHP 7 et Module PCNTL.

Alors si je désactive le module via

sudo phpdismod pcntl

L'application ne fonctionne plus :

Fatal error: Uncaught Error: Call to undefined function pcntl_fork() 

Il y a rien dans le /etc/php/7.0/apache2/php.ini

grep extension /etc/php/7.0/apache2/php.ini 
; Directives are variables used to configure PHP or PHP extensions.
; dynamically loaded extension (either a PHP extension or a Zend extension),
; you may only use these constants *after* the line that loads the extension.
; encodings.  To use this feature, mbstring extension must be enabled.
; leading '/'. You must also specify the file extension being used including
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; extension_dir = "ext"
; If you wish to have an extension loaded automatically, use the following
;   extension=modulename.extension
;   extension=msql.dll
;   extension=msql.so
;   extension=/path/to/extension/msql.so
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+)
; extension folders as well as the separate PECL DLL download (PHP 5+).
; Be sure to appropriately set the extension_dir directive.
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_fileinfo.dll
;extension=php_ftp.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_exif.dll      ; Must be after mbstring as it depends on it
;extension=php_mysqli.dll
;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite3.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;sqlite3.extension_dir =
; Records communication from all extensions using mysqlnd to the specified log
; the hash extension. A list of available hashes is returned by the hash_algos()
; Sets the directory name where SOAP extension will put cache files.
grep pcntl /etc/php/7.0/apache2/php.ini 
;disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

Hors ligne

#7 Le 02/10/2017, à 17:43

Nelodie

Re : PHP 7 et Module PCNTL.

J'ai essayé

 
sudo apt-get purge php5-common
sudo apt-get autoremove

mais /etc/php5 existe toujours

sudo grep -r pcntl /etc/
/etc/php/7.0/apache2/php.ini:;disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
/etc/php/7.0/fpm/php.ini:;disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
/etc/php/7.0/mods-available/pcntl.ini:extension=pcntl.so
/etc/php5/apache2/php.ini:;disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
/etc/php5/apache2/php.ini~:;disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
/etc/php5/mods-available/pcntl.ini:;extension=pcntl.so
/etc/php5/conf.d/pcntl.ini:;extension=pcntl.so

Maintenant j'ai le warning au niveau de la commande

 php -v
PHP Warning:  Module 'pcntl' already loaded in Unknown on line 0
PHP 7.0.22-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.22-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies

Hors ligne

#8 Le 02/10/2017, à 17:51

Nelodie

Re : PHP 7 et Module PCNTL.

php -m
PHP Warning:  Module 'pcntl' already loaded in Unknown on line 0
[PHP Modules]
calendar
Core
ctype
date
dom
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
http
iconv
imap
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
propro
raphf
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

Hors ligne

#9 Le 03/10/2017, à 08:37

bruno

Re : PHP 7 et Module PCNTL.

Pour supprimer toute trace d'installation de php 5, tu peux essayer :

sudo apt-get purge php5*

Pour les messages d'erreur ce n'est pas très grave car ce n'est pas bloquant. Par contre attention il y a une configuration php différente pour chaque mode de fonctionnement (avec un php.ini et des liens symboliques dans conf.d) :

- /etc/pĥp/7.0/cli pour le mode ligne de commande
- /etc/php/7.0/apache2 pour le mod_php d'apache
- /etc/php/7.0 /fpm pour php-fpm

Dernière modification par bruno (Le 03/10/2017, à 08:37)

Hors ligne

#10 Le 03/10/2017, à 10:21

Nelodie

Re : PHP 7 et Module PCNTL.

Oui les messages ne sont pas bloquants mais cela envoi des mails toutes les 30 min....


j'ai fait

sudo apt-get purge php5*

Mais les dossiers /etc/php5 et /usr/lib/php5 sont encore présents.

Hors ligne

#11 Le 03/10/2017, à 10:39

bruno

Re : PHP 7 et Module PCNTL.

Quel est le retour de :

/usr/sbin/phpquery -V

Hors ligne

#12 Le 03/10/2017, à 10:48

Nelodie

Re : PHP 7 et Module PCNTL.

/usr/sbin/phpquery -V
7.0

Hors ligne

#13 Le 03/10/2017, à 11:12

bruno

Re : PHP 7 et Module PCNTL.

Bon je sèche sur ton problème…

Tu peux essayer de supprimer (ou copier ailleurs) les dossiers /etc/php5 et /usr/lib/php5 et voir si tu as toujours la même erreur, mùais je ne pense pas que cela vienne de là.

Sinon une vérification avec :

sudo grep -R pcntl /etc/

pour ne pas exclure les liens symboliques pourrait peut-être aider.

Hors ligne

#14 Le 03/10/2017, à 13:25

Nelodie

Re : PHP 7 et Module PCNTL.

 sudo grep -R pcntl /etc/
Fichier binaire /etc/alternatives/php correspondant
/etc/alternatives/php-config:configure_options=" '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--disable-silent-rules' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' '--disable-maintainer-mode' '--disable-dependency-tracking' '--prefix=/usr' '--enable-cli' '--disable-cgi' '--disable-phpdbg' '--with-config-file-path=/etc/php/7.0/cli' '--with-config-file-scan-dir=/etc/php/7.0/cli/conf.d' '--build=x86_64-linux-gnu' '--host=x86_64-linux-gnu' '--config-cache' '--cache-file=/build/php7.0-dFe1Vt/php7.0-7.0.22/config.cache' '--libdir=\${prefix}/lib/php' '--libexecdir=\${prefix}/lib/php' '--datadir=\${prefix}/share/php/7.0' '--program-suffix=7.0' '--sysconfdir=/etc' '--localstatedir=/var' '--mandir=/usr/share/man' '--disable-all' '--disable-debug' '--disable-rpath' '--disable-static' '--with-pic' '--with-layout=GNU' '--without-pear' '--enable-filter' '--with-openssl=yes' '--with-pcre-regex=/usr' '--enable-hash' '--with-mhash=/usr' '--enable-libxml' '--enable-session' '--with-system-tzdata' '--with-zlib=/usr' '--with-zlib-dir=/usr' '--enable-dtrace' '--enable-pcntl' '--with-libedit=shared,/usr' 'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu' 'CFLAGS=-g '-O2' '-fPIE' '-fstack-protector-strong' '-Wformat' '-Werror=format-security' '-O2' '-Wall' '-pedantic' '-fsigned-char' '-fno-strict-aliasing' '-g''"
/etc/php/7.0/apache2/php.ini:;disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
/etc/php/7.0/apache2/conf.d/20-pcntl.ini:extension=pcntl.so
/etc/php/7.0/fpm/php.ini:;disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
/etc/php/7.0/fpm/conf.d/20-pcntl.ini.bak:extension=pcntl.so
/etc/php/7.0/mods-available/pcntl.ini:extension=pcntl.so
/etc/php/7.0/cli/conf.d/20-pcntl.ini.bak:extension=pcntl.so

/etc/php5/apache2/php.ini:;disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
/etc/php5/apache2/conf.d/20-pcntl.ini.bak:;extension=pcntl.so
/etc/php5/apache2/php.ini~:;disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
/etc/php5/mods-available/pcntl.ini:;extension=pcntl.so
/etc/php5/conf.d/pcntl.ini:;extension=pcntl.so

Hors ligne

#15 Le 03/10/2017, à 14:07

bruno

Re : PHP 7 et Module PCNTL.

Qu'est ce qui est utilisé : php-fpm ou le module php d'apche (sachant qu'ils sont incompatibles entre eux) ?
Pourquoi y-a-t-il des fichiers avec des extensions .bak dans des dossiers conf.d qui ne devraient contenir que des liens symboliques ?

Hors ligne

#16 Le 03/10/2017, à 15:46

Nelodie

Re : PHP 7 et Module PCNTL.

L'application l'utilise par le biais du module apache.

J'ai ajouté les extensions .bak pour "désactiver les fichiers"

De même j'ai commenté les fichiers pcntl.ini de php5.

Hors ligne

#17 Le 04/10/2017, à 14:59

bruno

Re : PHP 7 et Module PCNTL.

Désolé mais je ne vois pas d'où cela vient.

Ceci dit, c'est un peu le bazar sur ton système… Tu as des traces de PHP5 que tu pourrais supprimer. De même si tu n'utilises pas php-fpm :

sudo apt purge php-fpm php7.0-fpm

Et si tu veux, sur un système qui a été mis à niveau vers une nouvelle version d'Ubuntu :

 sudo dpkg --purge $(COLUMNS=200 dpkg -l | grep "^rc" | tr -s ' ' | cut -d ' ' -f 2)

permet de supprimer les résidus de configuration.

Hors ligne

#18 Le 09/10/2017, à 13:45

Nelodie

Re : PHP 7 et Module PCNTL.

Bon, j'ai tout essayé et j'ai toujours le mail qui est envoyé toutes les 30 min .... Pour le moment j'ai redirigé mes mails dans ma corbeille mais ce n'est pas une solution.

Hors ligne

#19 Le 09/10/2017, à 15:48

bruno

Re : PHP 7 et Module PCNTL.

Re,

J'ai fait une petite recherche.
En fait la version PHP 7.0 d'Ubuntu est bien compilée avec la prise en charge de pcntl. Testé sur un serveur Ubuntu 16.04 :

$ php -i | grep pcntl
pcntl
pcntl support => enabled

D'où le message d'erreur après l'avoir installé en tant que module.

Par contre il semblerait que cela ne fonctionne pas avec PHP s’exécutant comme module d'Apache, cela fonctionne en ligne de commande et en mode CGI (voir http://php.net/manual/fr/function.pcntl-fork.php)

Dernière modification par bruno (Le 10/10/2017, à 07:57)

Hors ligne

#20 Le 09/10/2017, à 18:37

Nelodie

Re : PHP 7 et Module PCNTL.

Oui c'est ce qui est bizarre... c'est bien compilé avec PCNTL mais cela ne suffit pas pour le module apache.

Du coup si je compile php sans pcntl et que j'active après que le module apache ...?

Hors ligne

#21 Le 10/10/2017, à 08:36

bruno

Re : PHP 7 et Module PCNTL.

La documentation officielle (http://php.net/manual/fr/intro.pcntl.php) précise bien que pcntl ne doit pas être utilisé sur un serveur web.

Je pense que la fonction pcntl_fork() ne peut pas fonctionner avec le module Apache pour des raisons techniques mais aussi de sécurité et de stabilité du système.
L'utilisation d'un module compilé permet de contourner cette limitation à tes risques et périls (fuites mémoire, processus zombie, plantage d'Apache, etc.)

Hors ligne