Page 1 of 1

apache, php4 als cgi und mmcache geht nicht

Posted: 2003-08-01 18:39
by alexander newald
Hallo,

ich habe jetzt einmal mmcache installiert und stelle fest - es geht nicht :cry:

Ein einfaches test.php liefert (in der Shell)

Code: Select all

PHP Warning:  Unknown(): Unable to load dynamic library './mmcache.so' - ./mmcache.so: cannot open shared object file: No such file or directory in Unknown on line 0
Content-type: text/html
X-Powered-By: PHP/4.3.2

Hallo
Ok, mmcache.so kann er ja auch nicht in ./ finden sonder sollte er in /usr/lib/php/extensions/no-debug-non-zts-20020429 ( php-config --extension-dir ) suchen, wo es ja auch installiert wurde.

PHP habe ich mit:

Code: Select all

./configure                                                     
        --prefix=/usr                                           
        --sysconfdir=/etc                                       
        --enable-discard-path                                   
        --with-openssl                                          
        --with-zlib                                             
        --enable-bcmath                                         
        --with-bz2                                              
        --enable-calendar                                       
        --enable-dba                                            
        --with-gdbm                                             
        --enable-dio                                            
        --enable-ftp                                            
        --with-gd                                               
        --with-jpeg-dir=/usr                                    
        --with-png-dir=/usr                                     
        --with-zlib-dir=/usr                                    
        --with-freetype-dir=/usr                                
        --enable-gd-native-ttf                                  
        --with-gettext                                          
        --enable-mbstring                                       
        --enable-mbregex                                        
        --with-mime-magic                                       
        --with-mysql                                            
        --disable-overload                                      
        --with-readline                                         
        --with-mm                                               
        --enable-sysvmsg                                        
        --enable-sysvsem                                        
        --enable-sysvshm                                        
        --with-expat-dir=/usr                                   
        --disable-debug                                         
        --enable-versioning                                     
        --enable-memory-limit

make
make install
cp php.ini-recommended /etc/php.ini
ln -s /etc/php.ini /usr/lib/php.ini
mmcache mit

Code: Select all

export PHP_PREFIX="/usr"
$PHP_PREFIX/bin/phpize
./configure --enable-mmcache=shared --with-php-config=$PHP_PREFIX/bin/php-co
nfig
make
make install
mkdir /tmp/mmcache
chmod 0777 /tmp/mmcache
cat >> /etc/php.ini << "EOF"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Enable truck MMCache as php extension ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
extension="mmcache.so"
mmcache.shm_size="16"
mmcache.cache_dir="/tmp/mmcache"
mmcache.enable="1"
mmcache.optimizer="1"
mmcache.check_mtime="1"
mmcache.debug="0"
mmcache.filter=""
mmcache.shm_max="0"
mmcache.shm_ttl="0"
mmcache.shm_prune_period="0"
mmcache.compress="1"
EOF
installiert.

Was habe ich falsch gemacht?

Re: apache, php4 als cgi und mmcache geht nicht

Posted: 2003-08-02 16:08
by squize
[extension section]
zend_extension="/usr/share/20010901/mmcache.so"
mmcache.shm_size="26"
mmcache.cache_dir="/tmp/mmcache"
mmcache.enable="1"
mmcache.optimizer="1"
mmcache.check_mtime="1"
mmcache.debug="0"
mmcache.filter=""

Ich würde an diener Stelle einfach mal den Pfad richtig setzen und schauen was dann passiert.

Gruss

Marc

Re: apache, php4 als cgi und mmcache geht nicht

Posted: 2003-08-02 16:11
by patrickwolf
Leider funktioniert mmcache nicht im CGI Modus:
Turck MMCache does not work in CGI mode.
Patrick

Re: apache, php4 als cgi und mmcache geht nicht

Posted: 2003-08-02 17:10
by alexander newald
Ups, das muss ich wohl überlesen haben :oops:

Eine Idee, welcher "php cache" auch mit php als cgi läuft?

Re: apache, php4 als cgi und mmcache geht nicht

Posted: 2003-08-02 17:28
by dodolin
Wenn ich mir das so überlege, würde ich sagen das kann schon vom Prinzip her nicht gehen. Bei CGI wird ja bei jeder PHP-Seite separat ein Prozess gestartet. Wie sollten sich in diesem Szenario mehrere Seiten einen gemeinsamen Cache teilen? Nein, das kann nicht gehen.

Alternativvorschlag: Reverse-Proxy davorsetzen. Kann ja auch auf der gleichen Kiste laufen. Aber da muss man bei dynamischen Seiten halt sehr vorsichtig mit der Konfiguration sein, was gecached werden darf und was nicht. Dabei kann natürlich auch mod_expires vom Apachen sehr gute Dienste leisten...

Re: apache, php4 als cgi und mmcache geht nicht

Posted: 2003-08-02 17:53
by alexander newald
Hm, da ist wohl was dran :wink: Naja, dann halt nicht, war ja auch nur eine Spielerei für den heissen Nachmittag hier im Norden

Re: apache, php4 als cgi und mmcache geht nicht

Posted: 2003-08-02 17:59
by dodolin
Naja, dann halt nicht, war ja auch nur eine Spielerei für den heissen Nachmittag hier im Norden
Hier im Süden ist auch extrem heiß. :)
Eben. Ich glaube ja auch, dass das von der Performance her kaum nötig sein sollte... ;) Aber eine IMHO gute Alternative in dieser Richtung habe ich dir ja genannt, wenn du mal wieder Langeweile und Bastellaune hast...

Re: apache, php4 als cgi und mmcache geht nicht

Posted: 2003-08-02 22:25
by alexander newald
Das habe ich schonmal versucht und nicht hinbekommen. Allerdings habe ich es auch nicht ernsthaft versucht...

Re: apache, php4 als cgi und mmcache geht nicht

Posted: 2003-08-03 03:05
by dodolin
Der Proxy muss dann natürlich auf Port 80 lauschen, der Apache auf einem anderen (dafür reicht auch ein lokaler Port auf localhost). Aber bitte äusserste Vorsicht walten lassen: Gefahr durch Offene Proxies (Spammer!) bei Fehlkonfiguration! IMHO sind die FAQs und Manuals vom Squid doch da ganz gut...