[php-maint] Bug#716893: php5-common: PDO and opcache links not created during installation for CLI

Daniel Andersson sskraep at gmail.com
Sun Jul 14 09:51:14 UTC 2013


Package: php5-common
Version: 5.5.0+dfsg-11
Severity: normal

Dear Maintainer,

After upgrading to the PHP 5.5 branch in Sid (directly to 5.5.0+dfsg-11 from
the 5.4 branch), running the PHP CLI binary generated:

    $ php
    PHP Warning:  PHP Startup: Unable to load dynamic library
    '/usr/lib/php5/20121212/pdo_mysql.so' -
    /usr/lib/php5/20121212/pdo_mysql.so: undefined symbol: pdo_parse_params in
    Unknown on line 0

I found out that this most likely occured since the PDO extension had not yet
been loaded to define `pdo_parse_params`.

Looking at the directory structure for enabled modules gave:

    $ ls -R1 /etc/php5/*/conf.d
    /etc/php5/apache2/conf.d:
    05-opcache.ini
    10-pdo.ini
    20-apcu.ini
    20-curl.ini
    20-gd.ini
    20-intl.ini
    20-json.ini
    20-mcrypt.ini
    20-mysqli.ini
    20-mysql.ini
    20-pdo_mysql.ini
    20-snmp.ini
    20-xmlrpc.ini

    /etc/php5/cgi/conf.d:
    05-opcache.ini
    10-pdo.ini
    20-apcu.ini
    20-curl.ini
    20-gd.ini
    20-intl.ini
    20-json.ini
    20-mcrypt.ini
    20-mysqli.ini
    20-mysql.ini
    20-pdo_mysql.ini
    20-snmp.ini
    20-xmlrpc.ini

    /etc/php5/cli/conf.d:
    20-apcu.ini
    20-curl.ini
    20-gd.ini
    20-intl.ini
    20-json.ini
    20-mcrypt.ini
    20-mysqli.ini
    20-mysql.ini
    20-pdo_mysql.ini
    20-snmp.ini
    20-xmlrpc.ini

i.e., the `05-opcache.ini` and `10-pdo.ini` were missing from the CLI
directory. I tried:

    $ sudo dpkg-reconfigure php5-common
    php5_invoke pdo: already enabled for apache2 SAPI
    php5_invoke pdo: already enabled for cgi SAPI
    php5_invoke pdo: already enabled for cli SAPI
    php5_invoke opcache: already enabled for apache2 SAPI
    php5_invoke opcache: already enabled for cgi SAPI
    php5_invoke opcache: already enabled for cli SAPI

Following a tip in another bug report I changed `set -e` to `set -ex` in
`/var/lib/dpkg/info/php5-common.postinst` and ran the above command again,
yielding the output attached to this report (also found at
<http://pastebin.com/sCn7zz67>).

Adding the links manually via e.g.

    $ sudo cp /etc/php5/cgi/conf.d/{05-opcache.ini,10-pdo.ini} \
    /etc/php5/cli/conf.d/

makes the error message go away and the CLI binary to work as expected.

So, for some reason the link creation did not work for these modules during
installation. I hope this at least can help someone else with the same issue,
and in best case be enough to pin-point a problem.



-- Package-specific info:
==== Additional PHP 5 information ====

++++ PHP 5 SAPI (php5query -S): ++++

++++ PHP 5 Extensions (php5query -M -v): ++++

++++ Configuration files: ++++
**** /etc/php5/mods-available/pdo.ini ****
extension=pdo.so

**** /etc/php5/mods-available/opcache.ini ****
zend_extension=opcache.so



-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.8-2-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=sv_SE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages php5-common depends on:
ii  libc6   2.17-7
ii  lsof    4.86+dfsg-1
ii  psmisc  22.20-1
ii  sed     4.2.2-1
ii  ucf     3.0027+nmu1

Versions of packages php5-common recommends:
ii  php5-json  1.3.1+dfsg-1

Versions of packages php5-common suggests:
ii  php5-apcu [php5-user-cache]  4.0.1-4

Versions of packages php5-cli depends on:
ii  libbz2-1.0        1.0.6-4
ii  libc6             2.17-7
ii  libcomerr2        1.42.8-1
ii  libdb5.1          5.1.29-6
ii  libedit2          2.11-20080614-6
ii  libgssapi-krb5-2  1.10.1+dfsg-6.1
ii  libk5crypto3      1.10.1+dfsg-6.1
ii  libkrb5-3         1.10.1+dfsg-6.1
ii  libmagic1         1:5.14-2
ii  libonig2          5.9.1-1
ii  libpcre3          1:8.31-2
ii  libqdbm14         1.8.78-2
ii  libssl1.0.0       1.0.1e-3
ii  libxml2           2.9.1+dfsg1-2
ii  mime-support      3.54
ii  tzdata            2013c-2
ii  ucf               3.0027+nmu1
ii  zlib1g            1:1.2.8.dfsg-1

Versions of packages php5-cli suggests:
ii  php-pear  5.5.0+dfsg-11

Versions of packages libapache2-mod-php5 depends on:
ii  apache2                             2.4.4-6
ii  apache2-bin [apache2-api-20120211]  2.4.4-6
ii  libbz2-1.0                          1.0.6-4
ii  libc6                               2.17-7
ii  libcomerr2                          1.42.8-1
ii  libdb5.1                            5.1.29-6
ii  libgssapi-krb5-2                    1.10.1+dfsg-6.1
ii  libk5crypto3                        1.10.1+dfsg-6.1
ii  libkrb5-3                           1.10.1+dfsg-6.1
ii  libmagic1                           1:5.14-2
ii  libonig2                            5.9.1-1
ii  libpcre3                            1:8.31-2
ii  libqdbm14                           1.8.78-2
ii  libssl1.0.0                         1.0.1e-3
ii  libstdc++6                          4.8.1-6
ii  libxml2                             2.9.1+dfsg1-2
ii  mime-support                        3.54
ii  tzdata                              2013c-2
ii  ucf                                 3.0027+nmu1
ii  zlib1g                              1:1.2.8.dfsg-1

Versions of packages libapache2-mod-php5 recommends:
ii  php5-cli  5.5.0+dfsg-11

Versions of packages libapache2-mod-php5 suggests:
ii  php-pear  5.5.0+dfsg-11

Versions of packages php5-cgi depends on:
ii  libbz2-1.0        1.0.6-4
ii  libc6             2.17-7
ii  libcomerr2        1.42.8-1
ii  libdb5.1          5.1.29-6
ii  libgssapi-krb5-2  1.10.1+dfsg-6.1
ii  libk5crypto3      1.10.1+dfsg-6.1
ii  libkrb5-3         1.10.1+dfsg-6.1
ii  libmagic1         1:5.14-2
ii  libonig2          5.9.1-1
ii  libpcre3          1:8.31-2
ii  libqdbm14         1.8.78-2
ii  libssl1.0.0       1.0.1e-3
ii  libxml2           2.9.1+dfsg1-2
ii  mime-support      3.54
ii  tzdata            2013c-2
ii  ucf               3.0027+nmu1
ii  zlib1g            1:1.2.8.dfsg-1

Versions of packages php5-cgi suggests:
ii  php-pear  5.5.0+dfsg-11

-- no debconf information
-------------- next part --------------
$ sudo dpkg-reconfigure php5-common
+ [ configure = configure ]
+ inidir=/etc/php5/mods-available
+ [ -e /usr/share/php5/php5-maintscript-helper ]
+ . /usr/share/php5/php5-maintscript-helper
+ [ -n  ]
+ EXPORT_PHP5_MAINTSCRIPT_HELPER=1
+ [ -n  ]
+ [ -z configure ]
+ PHP5_MAINTSCRIPT_NAME=postinst
+ [ postinst ]
+ PHP5_MAINTSCRIPT_PACKAGE=php5-common
+ [ -z php5-common ]
+ [ -z  ]
+ PHP5_MAINTSCRIPT_METHOD=configure
+ [ -z  ]
+ PHP5_MAINTSCRIPT_ARGUMENT=5.5.0+dfsg-11
+ inifile=pdo.ini
+ ucf /usr/share/php5/common/pdo.ini /etc/php5/mods-available/pdo.ini
+ ucfr --force php5-common /etc/php5/mods-available/pdo.ini
+ dpkg-maintscript-helper mv_conffile /etc/php5/conf.d/pdo.ini /etc/php5/mods-available/pdo.ini 5.4.0~rc6-1 -- configure 5.5.0+dfsg-11
+ [ -f /etc/php5/mods-available/pdo.ini.dpkg-new ]
+ php5_invoke enmod ALL pdo
+ local CMD=enmod
+ local SAPI=ALL
+ local MOD=pdo
+ local check_switch=
+ local invoke_string=
+ local rcd_action=
+ local rcd_scripts=
+ local sapi_list=
+ [ -x /usr/sbin/php5enmod ]
+ [ -x /usr/sbin/php5query ]
+ sapi_list=ALL
+ php5query -S
+ sapi_list=apache2
cgi
cli
+ php5enmod -q -m -r pdo
+ local php5query_ret=0
+ php5query -s apache2 -m pdo
+ [ 0 -eq 0 ]
+ php5_msg info php5_invoke pdo: already enabled for apache2 SAPI
+ local PRIORITY=info
+ local MSG=php5_invoke pdo: already enabled for apache2 SAPI
+ [ -z  ]
+ echo php5_invoke pdo: already enabled for apache2 SAPI
php5_invoke pdo: already enabled for apache2 SAPI
+ [ -x /usr/bin/logger ]
+ local LOGGER=/usr/bin/logger -p daemon.info -t php5-common 
+ /usr/bin/logger -p daemon.info -t php5-common php5_invoke pdo: already enabled for apache2 SAPI
+ PHP5_NEED_ACTION=1
+ [ -n  -a -n  ]
+ local php5query_ret=0
+ php5query -s cgi -m pdo
+ [ 0 -eq 0 ]
+ php5_msg info php5_invoke pdo: already enabled for cgi SAPI
+ local PRIORITY=info
+ local MSG=php5_invoke pdo: already enabled for cgi SAPI
+ [ -z  ]
+ echo php5_invoke pdo: already enabled for cgi SAPI
php5_invoke pdo: already enabled for cgi SAPI
+ [ -x /usr/bin/logger ]
+ local LOGGER=/usr/bin/logger -p daemon.info -t php5-common 
+ /usr/bin/logger -p daemon.info -t php5-common php5_invoke pdo: already enabled for cgi SAPI
+ PHP5_NEED_ACTION=1
+ [ -n  -a -n  ]
+ local php5query_ret=0
+ php5query -s cli -m pdo
+ [ 0 -eq 0 ]
+ php5_msg info php5_invoke pdo: already enabled for cli SAPI
+ local PRIORITY=info
+ local MSG=php5_invoke pdo: already enabled for cli SAPI
+ [ -z  ]
+ echo php5_invoke pdo: already enabled for cli SAPI
php5_invoke pdo: already enabled for cli SAPI
+ [ -x /usr/bin/logger ]
+ local LOGGER=/usr/bin/logger -p daemon.info -t php5-common 
+ /usr/bin/logger -p daemon.info -t php5-common php5_invoke pdo: already enabled for cli SAPI
+ PHP5_NEED_ACTION=1
+ [ -n  -a -n  ]
+ inifile=opcache.ini
+ ucf /usr/share/php5/common/opcache.ini /etc/php5/mods-available/opcache.ini
+ ucfr --force php5-common /etc/php5/mods-available/opcache.ini
+ dpkg-maintscript-helper mv_conffile /etc/php5/conf.d/opcache.ini /etc/php5/mods-available/opcache.ini 5.4.0~rc6-1 -- configure 5.5.0+dfsg-11
+ [ -f /etc/php5/mods-available/opcache.ini.dpkg-new ]
+ php5_invoke enmod ALL opcache
+ local CMD=enmod
+ local SAPI=ALL
+ local MOD=opcache
+ local check_switch=
+ local invoke_string=
+ local rcd_action=
+ local rcd_scripts=
+ local sapi_list=
+ [ -x /usr/sbin/php5enmod ]
+ [ -x /usr/sbin/php5query ]
+ sapi_list=ALL
+ php5query -S
+ sapi_list=apache2
cgi
cli
+ php5enmod -q -m -r opcache
+ local php5query_ret=0
+ php5query -s apache2 -m opcache
+ [ 0 -eq 0 ]
+ php5_msg info php5_invoke opcache: already enabled for apache2 SAPI
+ local PRIORITY=info
+ local MSG=php5_invoke opcache: already enabled for apache2 SAPI
+ [ -z  ]
+ echo php5_invoke opcache: already enabled for apache2 SAPI
php5_invoke opcache: already enabled for apache2 SAPI
+ [ -x /usr/bin/logger ]
+ local LOGGER=/usr/bin/logger -p daemon.info -t php5-common 
+ /usr/bin/logger -p daemon.info -t php5-common php5_invoke opcache: already enabled for apache2 SAPI
+ PHP5_NEED_ACTION=1
+ [ -n  -a -n  ]
+ local php5query_ret=0
+ php5query -s cgi -m opcache
+ [ 0 -eq 0 ]
+ php5_msg info php5_invoke opcache: already enabled for cgi SAPI
+ local PRIORITY=info
+ local MSG=php5_invoke opcache: already enabled for cgi SAPI
+ [ -z  ]
+ echo php5_invoke opcache: already enabled for cgi SAPI
php5_invoke opcache: already enabled for cgi SAPI
+ [ -x /usr/bin/logger ]
+ local LOGGER=/usr/bin/logger -p daemon.info -t php5-common 
+ /usr/bin/logger -p daemon.info -t php5-common php5_invoke opcache: already enabled for cgi SAPI
+ PHP5_NEED_ACTION=1
+ [ -n  -a -n  ]
+ local php5query_ret=0
+ php5query -s cli -m opcache
+ [ 0 -eq 0 ]
+ php5_msg info php5_invoke opcache: already enabled for cli SAPI
+ local PRIORITY=info
+ local MSG=php5_invoke opcache: already enabled for cli SAPI
+ [ -z  ]
+ echo php5_invoke opcache: already enabled for cli SAPI
php5_invoke opcache: already enabled for cli SAPI
+ [ -x /usr/bin/logger ]
+ local LOGGER=/usr/bin/logger -p daemon.info -t php5-common 
+ /usr/bin/logger -p daemon.info -t php5-common php5_invoke opcache: already enabled for cli SAPI
+ PHP5_NEED_ACTION=1
+ [ -n  -a -n  ]
+ exit 0


More information about the pkg-php-maint mailing list