Installation PHP

Installation PHP

cd /usr/ports/lang/php5
make install clean
   lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
   x Options for php5 5.3.9                                             x
   x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
   x x [*] CLI        Build CLI version                               x x
   x x [*] CGI        Build CGI version                               x x
   x x [*] FPM        Build FPM version (experimental)                x x
   x x [ ] APACHE     Build Apache module                             x x
   x x [ ] AP2FILTER   Use Apache 2.x filter interface (experimental) x x
   x x [ ] DEBUG      Enable debug                                    x x
   x x [*] SUHOSIN    Enable Suhosin protection system                x x
   x x [*] MULTIBYTE  Enable zend multibyte support                   x x
   x x [ ] IPV6       Enable ipv6 support                             x x
   x x [*] MAILHEAD   Enable mail header patch                        x x
   x x [*] LINKTHR    Link thread lib (for threaded extensions)       x x
   x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x
   tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu
   x                   <  OK  >          <Cancel>                       x
   mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

Installation PHP Extensions

cd /usr/ports/lang/php5-extensions/
make install clean

Config Deinen Bedürfnissen anpassen. Bei mir sieht sie so aus:

   lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
   x Options for php5-extensions 1.6                                    x
   x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
   x x    [*] CALENDAR    calendar conversion support                 x x
   x x    [*] CTYPE       ctype functions                             x x
   x x    [*] CURL        CURL support                                x x
   x x    [*] FILEINFO    fileinfo support                            x x
   x x    [*] FILTER      input filter support                        x x
   x x    [*] FTP         FTP support                                 x x
   x x    [*] GD          GD library support                          x x
   x x    [*] HASH        HASH Message Digest Framework               x x
   x x    [*] IMAP        IMAP support                                x x
   x x    [*] JSON        JavaScript Object Serialization support     x x
   x x    [*] MBSTRING    multibyte string support                    x x
   x x    [*] MCRYPT      Encryption support                          x x
   x x    [*] MYSQL       MySQL database support                      x x
   x x    [*] MYSQLI      MySQLi database support                     x x <- besser für chat
   x x    [*] OPENSSL     OpenSSL support                             x x
   x x    [*] PCNTL       pcntl support (CLI only)                    x x <- besser für chat
   x x    [*] PDF         PDFlib support (implies GD)                 x x
   x x    [*] POSIX       POSIX-like functions                        x x
   x x    [*] PSPELL      pspell support                              x x
   x x    [*] SESSION     session support                             x x
 x x    [*] SIMPLEXML   simplexml support                           x x
   x x    [*] SOCKETS     sockets support                             x x
   x x    [*] TOKENIZER   tokenizer support                           x x
   x x    [*] XML         XML support                                 x x
   x x    [*] XMLREADER   XMLReader support                           x x
   x x    [*] XMLWRITER   XMLWriter support                           x x
   x x    [*] ZLIB        ZLIB support                                x x
   x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq100%qqqqj x
   tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu
   x                   <  OK  >          <Cancel>                       x
   mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

Ganz wichtig!! Damit mysql 5.5.x unter der neusten PHP Version auch funktioniert, muss man databases/php5-mysqli sowie databases/php5-mysql WITH_MYSQLND=1 kompilieren. Macht man das nicht, lastet php -v zu über 100% die CPU aus…

  lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
  x                   Options for php5-mysql 5.3.9                     x
  x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
  x x              [X] MYSQLND  Use MySQL Native Driver              x x
  tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
  x                       [  OK  ]       Cancel                        x
  mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

Konfiguration

Session Verzeichnis erstellen

mkdir /tmp_www/phpsessions
chown www:www /tmp_www/phpsessions

php.ini

Am besten kopiere bestehendes eigenes php.ini. Falls noch kein eigenes php.ini vorhanden ist, kopiere die Vorlage von PHP und passe sie Deinen Bedürfnissen an:

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
vi /usr/local/etc/php.ini
   memory_limit = 50M
   upload_max_filesize = 10M
   session.save_path = /tmp_www/phpsessions
   include_path = "/www/server/phpincludes:/www/server/phpinclude"
   upload_tmp_dir = /tmp_www
   register_globals = ON
   ;extension_dir = "./"

httpd.conf

# vi /www/server/apache/httpd.conf

Mit diesem Inhalt ergänzen:

<IfModule mod_fcgid.c>
  AddHandler fcgid-script .fcgi .php .php3
  FCGIWrapper /usr/local/bin/php-cgi .php
  SocketPath /var/run/fcgidsock/
  IPCConnectTimeout 10
  IPCCommTimeout 20
  OutputBufferSize 0
  FcgidIPCDir /var/run/mod_fcgid
  FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm
</IfModule>

<Files ~ (\.php)>
SetHandler fcgid-script
FCGIWrapper /usr/local/bin/php-cgi .php
Options +ExecCGI
allow from all
</Files>

php-fpm.conf (nur bei NGINX Konfiguration)

vi /usr/local/etc/php-fpm.conf

Folgende Zeile anpassen:

 ;listen = 127.0.0.1:9000
listen = /tmp/php-fpm.sock

Weitere Infos und Beispiele von php-fpm gibt es hier.

rc.conf (nur bei NGINX Konfiguration)

vi /etc/rc.conf

Mit diesem Eintrag ergänzen:

#-----------------------------------------------#
#       PHP                                     #
#-----------------------------------------------#
php_fpm_enable="YES"

Starten

auch hier – php-fpm braucht man nur zu starten bei einer Nginx Konfiguration. Bei Apache verwenden wir mod_fcgid.

/usr/local/etc/rc.d/php-fpm start
/usr/local/etc/rc.d/apache22 start

Alias hinzufügen

Damit man php später etwas schneller restarten kann ein Alias / Shortcut einrichten in der .bashrc

vi ~/.bashrc
alias phpctl='/usr/local/etc/rc.d/php-fpm'

nun kann man per

# phpctl restart

PHP restarten / stoppen etc.

Zusätzliche PHP PCEL Plugins

WICHTIG BEI PHP UPGRADES

Neu kann man das einfacher installieren:

pkg install pecl-runkit

 

Wichtig ist, dass bei jedem PHP Update auch diese Plugins wieder neu konfiguriert werden. Sonst läufts nicht! Einfach (pro Plugin) Neuinstallation machen. Hier ein Beispiel anhand von runkit:

cd /usr/local/software/runkit/pecl/runkit
make clean
phpize
./configure
make
make test
make install

Upload Progress Meter

runkit – Superglobals

Memcache

  • Installation Memcache

APC

Expired: läuft nicht mehr ab PHP Version PHP 5.5+ / kein Support mehr unter lang/php56

APC ist ein PHP Cache (wie z.B. auch eAccelerator). Durch die Verwendung vom APC Cache können PHP Seiten im Durchschnitt bis zu 10x schneller geladen werden. APC wird vom PHP Team weiterentwickelt und wird wahrscheinlich ab PHP 6 bereits in PHP integriert sein. Der eAccelerator hat zwar in Benchmark Tests oft ein wenig besser als APC abgeschnitten. Die Tatsache jedoch, dass mittlerweile viele ehemalige begeisterte eAccelerator Nutzer seit dem letzten Release 0.9.6 aus Enttäuschung zu APC gewechselt sind, hat mich dazu bewegt mich für APC zu entscheiden.

Die Installation geht schnell, hat aber einen sehr grossen Impact 🙂

cd /usr/ports/www/pecl-APC
make install clean

Zusätzliche Options habe ich keine enabled.

Im Extensions File /usr/local/etc/php/extensions.ini sollte APC nach der Installation nun automatisch eingefügt worden sein:

extension=apc.so

Die Installation ist hiermit bereits abgeschlossen. php-fpm restarten und APC ist bereits in phpinfo() aufgeführt. Die default Settings kann man natürlich im php.ini bei Bedarf entsprechend anpassen. Hier gehts zu den APC Konfigurations-Optionen.

Für ein optimales APC Tuning, kann man die APC Cache Usage auch Monitoren. Hier ein guter Artikel dazu.

Module wieder deinstallieren

Will man gleich alle Extensions wieder deinstallieren (z.B. für die Fehlersuche) geht das einfach so:

pkg_delete -vdr php5-*

Ansonsten jedes einzelne…

cd /usr/ports/

z.b. suchen wir php4-gd:

make search name=php4-gd

output:

Port:   php4-gd-4.4.0
Path:   /usr/ports/graphics/php4-gd
Info:   The gd shared extension for php
Maint:  ale@FreeBSD.org
B-deps: apache-1.3.33_2 autoconf-2.59_2 expat-1.95.8_3 fontconfig-2.2.3,1 freetype2-2.1.10_1 jpeg-6b_3 m4-1.4.3 perl-5.8.7 php4-4.4.0 pkgconfig-0.17.2 png-1.2.8_2 t1lib-5.0.1,1 xorg-libraries-6.8.2
R-deps: apache-1.3.33_2 expat-1.95.8_3 fontconfig-2.2.3,1 freetype2-2.1.10_1 jpeg-6b_3 perl-5.8.7 php4-4.4.0 pkgconfig-0.17.2 png-1.2.8_2 t1lib-5.0.1,1 xorg-libraries-6.8.2
WWW:    http://www.php.net/

wenn wir es jetzt deinstallieren wollen, gehe zu

cd /usr/ports/graphics/php4-gd
make deinstall clean

falls noch alte configs vorhanden sind, eventuell ebenfalls entfernen

make rmconfig

Zend Optimizer  & FreeBSD

Zend wird für FreeBSD nicht mehr weiterentwickelt. Weitere Infos dazu gibts hier. xCache wurde mir als Alternative empfohlen:

http://xcache.lighttpd.net/

und zum encoden (verschlüsseln) wäre das ev. noch eine variante: http://www.rssoftlab.com/downloads.php

Weitere Zend Alternativen

Dieses Projekt ist nochmals anders

Es nimmt den bestehenden PHP Code und schreibt alle Funktionen etc. um, so dass es ein normalsterblicher nicht mehr lesen kann. Es wird aber nicht auf die Art codiert, wie zend es macht.

*NEU* Alternativer Zend Optimizer Port für FreeBSD

Seit kurzem gibt es einen alternativen FreeBSD Port vom Zend Optimizer. Weitere Infos dazu gibt es auf der Seite von phaq.

Installation:

cd /usr/ports/devel
fetch -o- http://phaq.phunsites.net/files/2013/02/ZendOptimizerPlus.tgz | tar -xzpvf -
cd /usr/ports/devel/ZendOptimizerPlus
make install clean

Fertig 🙂

Weitere Infos hier: http://phaq.phunsites.net/2013/02/16/inofficial-freebsd-port-for-zend-optimizer-plus/

Fehlerbehebung

Problembehebung bei Extensions

Läuft php nicht mehr korrekt, nach der Install mehrerer Extensions nicht mehr, muss getestet werden, was genau nicht geht. Dazu im File

vi /usr/local/etc/php/extensions.ini

eine Extension nach der anderen auskommentieren und jeweils mit

php -v

testen, obs danach geht. Fehlerhafte Extension reparieren oder deinstallieren.

PNG Problem nach Update

Nach einem Update kann es vorkommen, dass die PNG Scripts (imagecreatefrompng etc.) nicht mehr funktionieren. Dynamisch generierte Fotos (z.B. mit Watermark) können dann nicht mehr angezeigt werden.

Lösung:

portupgrade -fr png-1.2.40

Unknown(): Unable to load dynamic library

Beim Apache restart kommen solche Fehler:

root@testserver(/www/server/bin)> tail -f /var/log/httpd-error.log 
PHP Warning:  Unknown(): Unable to load dynamic library './ftp.so' - Cannot open "./ftp.so" in Unknown on line 0
PHP Warning:  Unknown(): Unable to load dynamic library './gd.so' - Cannot open "./gd.so" in Unknown on line 0
PHP Warning:  Unknown(): Unable to load dynamic library './imap.so' - Cannot open "./imap.so" in Unknown on line 0
PHP Warning:  Unknown(): Unable to load dynamic library './mcrypt.so' - Cannot open "./mcrypt.so" in Unknown on line 0
PHP Warning:  Unknown(): Unable to load dynamic library './mhash.so' - Cannot open "./mhash.so" in Unknown on line 0
PHP Warning:  Unknown(): Unable to load dynamic library './pdf.so' - Cannot open "./pdf.so" in Unknown on line 0
PHP Warning:  Unknown(): Unable to load dynamic library './sockets.so' - Cannot open "./sockets.so" in Unknown on line 0
[Wed Sep 14 17:42:18 2005] [notice] Apache/2.0.54 (FreeBSD) PHP/4.4.0 mod_ssl/2.0.54 OpenSSL/0.9.7e configured -- resuming normal operations
[Wed Sep 14 17:46:16 2005] [notice] SIGHUP received.  Attempting to restart
[Wed Sep 14 17:46:18 2005] [notice] Apache/2.0.54 (FreeBSD) PHP/4.4.0 mod_ssl/2.0.54 OpenSSL/0.9.7e configured -- resuming normal operations

Lösung:

vi /usr/local/etc/php.ini

die Zeile muss auskommentiert sein

;extension_dir = "./"
apachectl restart

Segmention fault (pspell)

Pspell generiert unter FreeBSD einen Segmention Fault. Anfangs konnte man dies korrigieren, indem man Zend einfach nicht benutzte. Seit der PHP Version 5.2.11 jedoch, nützt dies nichts mehr, da Zend anscheinend trotzdem benutzt wird.

Die Lösung des Problems ist jedoch einfach: im File

/usr/local/etc/php/extensions.ini

muss

extension=pspell.so

am ENDE DER LISTE stehen. Dann gehts und wir können sogar den Zend Optimizer wieder ganz normal nutzen.

Siehe Bugreports für weitere Infos:

Invalid command ‚php_admin_flag‘, perhaps misspelled or defined by a module not included in the server configuration

Wenn wir Apache als Worker laufen lassen und PHP per php-fpm angesprochen wird – also PHP nicht als Apache Modul läuft, funktionieren die PHP Direktiven im httpd.conf (oder .htaccess) nicht!

Ab PHP 5.3.0 gibt es jedoch die .user.ini Datei, die ähnlich wie .htaccess funktioniert.

Aber achte unbedingt auf die korrekte Schreibweise:

.htaccess

php_flag register_globals on

httpd.conf

php_admin_flag register_globals 0n

.user.ini

register_globals=on 

Weitere Infos dazu gibts im PHP Manual.

 

PHP4 -> PHP5 Upgrade

Zuerst müssen wir schauen, welche Ports unsere aktuelle PHP Version benötigen:

pkg_info -R php4-4.4.7_2
Information for php4-4.4.7_2:

Required by:
ZendOptimizer-3.3.0.a
pecl-fileinfo-1.0.4
pecl-pdflib-2.1.4
php4-calendar-4.4.7_2
php4-ctype-4.4.7_2
php4-curl-4.4.7_2
php4-extensions-1.0
php4-ftp-4.4.7_2
php4-gd-4.4.7_2
php4-imap-4.4.7_1
php4-mbstring-4.4.7_2
php4-mcrypt-4.4.7_2
php4-mhash-4.4.7_2
php4-mysql-4.4.7_2
php4-overload-4.4.7_2
php4-pcre-4.4.7_2
php4-posix-4.4.7_2
php4-pspell-4.4.7_2
php4-session-4.4.7_2
php4-sockets-4.4.7_2
php4-tokenizer-4.4.7_2
php4-xml-4.4.7_2

All diese Ports müssen geupdated werden. Also muss jeder php4-blabla Port mit dem php5-blabla port ersetzt werden. Beginnen wir aber erst mit dem Base PHP Port:

   cd /usr/ports/lang/php5
   make config                             <-- (Note: make sure 'Apache' is checked here)

 

                              lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
                              x                      Options for php5 5.2.5                        x
                              x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
                              x x[X] CLI        Build CLI version                                x x
                              x x[X] CGI        Build CGI version                                x x
                              x x[X] APACHE     Build Apache module                              x x
                              x x[ ] DEBUG      Enable debug                                     x x
                              x x[X] SUHOSIN    Enable Suhosin protection system (not for jails) x x
                              x x[ ] MULTIBYTE  Enable zend multibyte support                    x x
                              x x[ ] IPV6       Enable ipv6 support                              x x
                              x x[ ] MAILHEAD   Enable mail header patch                         x x
                              x x[ ] REDIRECT   Enable force-cgi-redirect support (CGI only)     x x
                              x x[ ] DISCARD    Enable discard-path support (CGI only)           x x
                              x x[X] FASTCGI    Enable fastcgi support (CGI only)                x x
                              x x[X] PATHINFO   Enable path-info-check support (CGI only)        x x
                              x x                                                                x x
                              x x                                                                x x
                              x x                                                                x x
                              tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
                              x                       [  OK  ]       Cancel                        x
                              mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

 

   portupgrade -f -o lang/php5 php4-4.4.7_2  <-- darauf achten, dass die versionsnummer stimmt!

Nach dem Upgrade, sollte sich das file /usr/local/etc/php.conf folgendes beinhalten:

   cat /usr/local/etc/php.conf
   PHP_VER=5
   PHP_VERSION=5.1.4
   PHP_SAPI=cli cgi mod
   PHP_EXT_INC=openssl zlib

Jetzt ersetzen wir alle php4 Module mit dem entsprechenden php5 Modul. Dazu muss man von jedem Modul den Original Install Pfad wissen und ihn ins PHP5 umschreiben. Also z.B.

   % pkg_info -o php4-mysql-4.4.7_2
   Information for php4-mysql-4.4.7_2:
   Origin:
   databases/php4-mysql
   % portupgrade -o databases/php5-mysql php4-mysql-4.4.7_2

Und das machen wir nun für jedes php4 Modul. Vielleicht darauf achten, dass das Modul php4-extensions-1.0 erst ganz am Schluss der php4 Module gemacht wird. Weil man dort wiederum die diversen Haken ankreuzen müsste – und er dann die Module von selber installieren würde. Sollte es trotzdem passieren, dass aus Versehen das php4-extensions Modul zu früh installiert wird, kann es sein, dass danach beim Install Fehler auftreten, da dann die php5 Version schon vorhanden ist. In dem fall einfach beim entsprechenden PHP5 Modul ein ‚make deinstall‘ machen und nachher wieder über portupgrade blabla neu installieren.

 

                             lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
                             x                 Options for php5-extensions 1.1                    x
                             x lqqqqqqq^(-)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
                             x x   [ ] BCMATH      bc style precision math functions            x x
                             x x   [ ] BZ2         bzip2 library support                        x x
                             x x   [X] CALENDAR    calendar conversion support                  x x
                             x x   [X] CTYPE       ctype functions                              x x
                             x x   [X] CURL        CURL support                                 x x
                             x x   [ ] DBA         dba support                                  x x
                             x x   [ ] DBASE       dBase library support                        x x
                             x x   [X] DOM         DOM support                                  x x
                             x x   [ ] EXIF        EXIF support                                 x x
                             x x   [X] FILEINFO    fileinfo support                             x x
                             x x   [ ] FILTER      input filter support                         x x
                             x x   [ ] FRIBIDI     FriBidi support                              x x
                             x x   [X] FTP         FTP support                                  x x
                             x x   [X] GD          GD library support                           x x
                             x x   [ ] GETTEXT     gettext library support                      x x
                             x x   [ ] GMP         GNU MP support                               x x
                             x x   [ ] HASH        HASH Message Digest Framework                x x
                             x x   [ ] ICONV       iconv support                                x x
                             x x   [X] IMAP        IMAP support                                 x x
                             x x   [ ] INTERBASE   Interbase 6 database support (Firebird)      x x
                             x x   [ ] JSON        JavaScript Object Serialization support      x x
                             x x   [ ] LDAP        OpenLDAP support                             x x
                             x x   [X] MBSTRING    multibyte string support                     x x
                             x x   [X] MCRYPT      Encryption support                           x x
                             x x   [X] MHASH       Crypto-hashing support                       x x
                             x x   [ ] MING        ming shockwave flash support                 x x
                             x x   [ ] MSSQL       MS-SQL database support                      x x
                             x x   [X] MYSQL       MySQL database support                       x x
                             x x   [ ] MYSQLI      MySQLi database support                      x x
                             x x   [ ] NCURSES     ncurses support (CLI only)                   x x
                             x x   [ ] ODBC        unixODBC support                             x x
                             x x   [X] OPENSSL     OpenSSL support                              x x
                             x x   [ ] PCNTL       pcntl support (CLI only)                     x x
                             x x   [X] PCRE        Perl Compatible Regular Expression support   x x
                             x x   [X] PDF         PDFlib support (implies GD)                  x x
                             x x   [ ] PDO         PHP Data Objects Interface (PDO)             x x
                             x x   [ ] PDO_SQLITE  PDO sqlite driver                            x x
                             x x   [ ] PGSQL       PostgreSQL database support                  x x
                             x x   [X] POSIX       POSIX-like functions                         x x
                             x x   [X] PSPELL      pspell support                               x x
                             x x   [ ] READLINE    readline support (CLI only)                  x x
                             x x   [ ] RECODE      recode support                               x x
                             x x   [X] SESSION     session support                              x x
                             x x   [ ] SHMOP       shmop support                                x x
                             x x   [X] SIMPLEXML   simplexml support                            x x
                             x x   [ ] SNMP        SNMP support                                 x x
                             x x   [ ] SOAP        SOAP support                                 x x
                             x x   [X] SOCKETS     sockets support                              x x
                             x x   [X] SPL         Standard PHP Library                         x x
                             x x   [ ] SQLITE      sqlite support                               x x
                             x x   [ ] SYBASE_CT   Sybase database support                      x x
                             x x   [ ] SYSVMSG     System V message support                     x x
                             x x   [ ] SYSVSEM     System V semaphore support                   x x
                             x x   [ ] SYSVSHM     System V shared memory support               x x
                             x x   [ ] TIDY        TIDY support                                 x x
                             x x   [X] TOKENIZER   tokenizer support                            x x
                             x x   [ ] WDDX        WDDX support (implies XML)                   x x
                             x x   [X] XML         XML support                                  x x
                             x x   [X] XMLREADER   XMLReader support                            x x
                             x x   [ ] XMLRPC      XMLRPC-EPI support                           x x
                             x x   [X] XMLWRITER   XMLWriter support                            x x
                             x x   [ ] XSL         XSL support (Implies DOM)                    x x
                             x x   [ ] YAZ         YAZ support (ANSI/NISO Z39.50)               x x
                             x x   [ ] ZIP         ZIP support                                  x x
                             x x   [X] ZLIB        ZLIB support                                 x x
                             tqmqqqqqqqv(+)qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
                             x                       [  OK  ]       Cancel                        x
                             mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj


Als nächstes reinstallieren wir alle PECL libraries und PHP Applications, die installiert sind. Also alles in der Liste, ohne den php4- prefix.

   % portupgrade -f pecl-fileinfo-1.0.4
   % portupgrade -f pecl-pdflib-2.1.4
   % portupgrade -f ZendOptimizer-3.3.0.a

Nun ist Apache dran. Theoretisch sollte man ihn während dem gesamten install Prozess abgeschaltet haben. Aber das macht unnötig eine zu lange Down-Zeit. Also sobald alles erledig ist, schauen, dass das php5 Modul aktiviert ist (und php4 natürlich deaktiviert):

vi /usr/local/etc/apache22/httpd.conf

Check for lines like this in the apache config files:

#LoadModule php4_module        libexec/apache22/libphp4.so
LoadModule php5_module        libexec/apache22/libphp5.so

Testen

Jetzt am besten mal PHP output testen:

php -v

Wenn jetzt Fehlermeldungen kommen, beheben:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/overload.so' - Cannot open "/usr/local/lib/php/20060613/overload.so" in Unknown on line 0
PHP 5.2.5 with Suhosin-Patch 0.9.6.2 (cli) (built: Dec  4 2007 10:37:36) 
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

ok, die Overload extension gibt es in php5 nicht mehr.

vi /usr/local/etc/php/extensions.ini

delete line:

extension=overload.so

nochmals testen:

% php -v
PHP 5.2.5 with Suhosin-Patch 0.9.6.2 (cli) (built: Dec  4 2007 10:37:36) 
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

Restart

Restart Apache. Fertig.

Referenzen

Meine Konfiguration von PHP mit Apache Worker basiert auf diesem Artikel. Danke dafür 🙂

 

  • *

    Du kannst diese HTML tags verwenden: <a> <abbr> <acronym> <b> <blockquote> <cite> <code> <del> <em> <i> <q> <s> <strike> <strong>

  • Kommentar-Feed für diesen Beitrag
nach oben