apc breaks pear::mdb2

View: New views
4 Messages — Rating Filter:   Alert me  

apc breaks pear::mdb2

by Michael A. Peters :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

php 5.2.10
apc 3.0.19

With apc enabled, pear package mdb2 breaks with following error:

<b>Fatal error</b>:  Class 'PEAR' not found in
<b>/usr/share/pear/MDB2/Driver/mysql.php</b> on line <b>876</b><br />

disabling apc and site works just dandy again.

; Enable apc extension module
extension = apc.so
; Options for the apc module
apc.enabled=1
apc.shm_segments=1
apc.optimization=0
apc.shm_size=64
apc.ttl=7200
apc.user_ttl=7200
apc.num_files_hint=1024
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.enable_cli=1
apc.cache_by_default=1
apc.stat=0

Last one I added after seeing this:

http://pecl.php.net/bugs/bug.php?id=15356

but that's not my problem

from the apc.php -

apc.cache_by_default 1
apc.coredump_unmap 0
apc.enable_cli 1
apc.enabled 1
apc.file_update_protection 2
apc.filters
apc.gc_ttl 3600
apc.include_once_override 0
apc.max_file_size 1M
apc.mmap_file_mask /tmp/apc.BJhspx
apc.num_files_hint 1024
apc.report_autofilter 0
apc.rfc1867 0
apc.rfc1867_freq 0
apc.rfc1867_name APC_UPLOAD_PROGRESS
apc.rfc1867_prefix upload_
apc.shm_segments 1
apc.shm_size 64
apc.slam_defense 0
apc.stat 0
apc.stat_ctime 0
apc.ttl 7200
apc.user_entries_hint 4096
apc.user_ttl 7200
apc.write_lock 1

Any suggestions about what configuration is borking pear?

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Re: apc breaks pear::mdb2

by Michael A. Peters :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Michael A. Peters wrote:

> php 5.2.10
> apc 3.0.19
>
> With apc enabled, pear package mdb2 breaks with following error:
>
> <b>Fatal error</b>:  Class 'PEAR' not found in
> <b>/usr/share/pear/MDB2/Driver/mysql.php</b> on line <b>876</b><br />
>
> disabling apc and site works just dandy again.
>
> ; Enable apc extension module
> extension = apc.so
> ; Options for the apc module
> apc.enabled=1
> apc.shm_segments=1
> apc.optimization=0
> apc.shm_size=64
> apc.ttl=7200
> apc.user_ttl=7200
> apc.num_files_hint=1024
> apc.mmap_file_mask=/tmp/apc.XXXXXX
> apc.enable_cli=1
> apc.cache_by_default=1
> apc.stat=0
>

Changing apc.cache_by_default to 0 also fixes it, so it seems it has a
problem with how it caches pear/mdb2 stuff.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Re: apc breaks pear::mdb2

by Daniel Brown-7 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, Jul 3, 2009 at 07:00, Michael A. Peters<mpeters@...> wrote:
>>
>> <b>Fatal error</b>:  Class 'PEAR' not found in
>> <b>/usr/share/pear/MDB2/Driver/mysql.php</b> on line <b>876</b><br />

    Have you installed PEAR's PEAR module?  I know it sounds a bit
redundant, but see if that works for you.  From the command line:

        pear install PEAR

    If it tells you that it's already on there, or if it installs but
does not fix your problem, the next step is making sure that the
include path contains the path to your PEAR files.  If not, the class
fails because the inclusion fails (and without looking at the source
of the MySQL driver in the MDB2 package, my guess is that it's
__autoload()'d rather than explicitly included, hence no message about
a missing file).

--
</Daniel P. Brown>
daniel.brown@... || danbrown@...
http://www.parasane.net/ || http://www.pilotpig.net/
Check out our great hosting and dedicated server deals at
http://twitter.com/pilotpig

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Re: apc breaks pear::mdb2

by Michael A. Peters :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Daniel Brown wrote:

> On Fri, Jul 3, 2009 at 07:00, Michael A. Peters<mpeters@...> wrote:
>>> <b>Fatal error</b>:  Class 'PEAR' not found in
>>> <b>/usr/share/pear/MDB2/Driver/mysql.php</b> on line <b>876</b><br />
>
>     Have you installed PEAR's PEAR module?  I know it sounds a bit
> redundant, but see if that works for you.  From the command line:
>
>         pear install PEAR
>
>     If it tells you that it's already on there, or if it installs but
> does not fix your problem, the next step is making sure that the
> include path contains the path to your PEAR files.  If not, the class
> fails because the inclusion fails (and without looking at the source
> of the MySQL driver in the MDB2 package, my guess is that it's
> __autoload()'d rather than explicitly included, hence no message about
> a missing file).
>

Yes, pear is installed

[mpeters@athens ~]$ pear info PEAR
About pear.php.net/PEAR-1.8.1
=============================
Release Type           PEAR-style PHP-based Package
Name                   PEAR
Channel                pear.php.net
Summary                PEAR Base System
Description            The PEAR package contains:
etc.

It works beautifully as long as apc.cache_by_default=0

I really only need it to cache DB queries and xml fragments.
Caching includes (I assume what it is trying to do) would be nice but
not if it does so in a broken manner.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php