+ All Categories
Home > Documents > PHP selber bauen - Walter Ebert · PHP selber bauen PHP User Group Frankfurt 31.03.2011 Walter...

PHP selber bauen - Walter Ebert · PHP selber bauen PHP User Group Frankfurt 31.03.2011 Walter...

Date post: 23-Jan-2019
Category:
Upload: trantuyen
View: 220 times
Download: 0 times
Share this document with a friend
29
http://www.flickr.com/photos/zunami/4738471442/ http://www.flickr.com/photos/zunami/4738471442/ PHP selber bauen PHP selber bauen PHP User Group Frankfurt 31.03.2011 PHP User Group Frankfurt 31.03.2011 Walter Ebert Walter Ebert
Transcript

http://www.flickr.com/photos/zunami/4738471442/http://www.flickr.com/photos/zunami/4738471442/

PHP selber bauenPHP selber bauenPHP User Group Frankfurt 31.03.2011PHP User Group Frankfurt 31.03.2011

Walter EbertWalter Ebert

Willkommen bei den anonymen PHPlern

Mein Name ist Walterund ich kompiliere mir PHP selber

Nicht immer,aber immer öfter

Goggler-Handzeigen

http://www.flickr.com/photos/zunami/3125589973/http://www.flickr.com/photos/zunami/3125589973/

http://php.net/releases/5_3_0.phphttp://php.net/releases/5_3_0.php

http://www.php.net/releases/5_3_3.phphttp://www.php.net/releases/5_3_3.php

http://derickrethans.nl/distributions-please-dont-cripple-php-or-red-hat-stop-fucking-around.htmlhttp://derickrethans.nl/distributions-please-dont-cripple-php-or-red-hat-stop-fucking-around.html

Kompatibilität / Features

Du musst zum Beispiel:● eine alte PHP Version unterstützen● mehrere PHP Versionen bzw.

Konfigurationen testen● proprietäre Extensions nutzen die nur mit

bestimmten PHP Versionen funktionieren● die letzte Entwickler-Version testen (trunk)

PHP4 irgendwer?

http://www.flickr.com/photos/mama/94778673/http://www.flickr.com/photos/mama/94778673/

./configuremakesudo make install

b

http://www.php.net/downloads.php

./configuremakemake testsudo make install

b

LinuxUnix

Mac OS XWindows-> benutze einfach die binariesoder wenn man wirklich muss; besuche: http://wiki.php.net/internals/windows/stepbystepbuild

sudo apt-get install \automake autoconf gcc \libtool binutils subversion \libxml2-dev libcurl4-dev \libfreetype6-dev libjpeg-dev libpng-dev

Packages fuer debian / ubuntu

\ = escape linebreaks

b

./configure --help

Usage: configure [options] [host]Options: [defaults in brackets after descriptions]Configuration: --cache-file=FILE cache test results in FILE --help print this message --no-create do not create output files --quiet, --silent do not print `checking...' messages --version print the version of autoconf that created conDirectory and file names: --prefix=PREFIX install architecture-independent files in PREF [/usr/local] --exec-prefix=EPREFIX install architecture-dependent files in EPREFI [same as prefix] --bindir=DIR user executables in DIR [EPREFIX/bin] --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] --libexecdir=DIR program executables in DIR [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data in DIR [PREFIX/share] --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/e --sharedstatedir=DIR modifiable architecture-independent data in DI [PREFIX/com] --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/ --libdir=DIR object code libraries in DIR [EPREFIX/lib] --includedir=DIR C header files in DIR [PREFIX/include]

b

./configure \--with-apxs2 \--with-mysql=mysqlnd --with-mysqli=mysqlnd \-–with-pdo-mysql=mysqlnd \--with-curl \--with-gd \--with-jpeg-dir=/usr --with-png-dir=/usr \--with-freetype-dir=/usr

Fuer Apache: Sudo apt-get install apache2-prefork-dev

b

./configure \--enable-fpm \--with-gettext --enable-zend-multibyte \--enable-mbstring --with-mcrypt \--enable-soap --enable-wddx --with-xsl \--with-curl --with-openssl \--with-zlib-dir=/usr --with-bz2 --enable-zip \--with-gd --with-jpeg-dir=/usr \--with-png-dir=/usr --with-freetype-dir=/usr \ --enable-exif \--with-mysql=mysqlnd --with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--with-pgsql=/usr --with-pdo-pgsql \--without-sqlite --without-sqlite3 \--without-pdo-sqlite \--with-mm=/usr

b

./configure

...checking whether to build shared libraries... nochecking whether to build static libraries... yes

creating libtoolappending configuration tag "CXX" to libtool

Generating filesupdating cache ./config.cachecreating ./config.statuscreating php5.speccreating main/build-defs.hcreating scripts/phpizecreating scripts/man1/phpize.1creating scripts/php-configcreating scripts/man1/php-config.1creating sapi/cli/php.1creating main/php_config.hcreating main/internal_functions.ccreating main/internal_functions_cli.c+--------------------------------------------------------------------+| License: || This software is subject to the PHP License, available in this || distribution in the file LICENSE. By continuing this installation || process, you are bound by the terms of this license agreement. || If you do not agree with the terms of this license, you must abort || the installation process at this point. |+--------------------------------------------------------------------+

Thank you for using PHP.

b

make

/bin/sh /home/walter/Downloads/php-5.3.5/libtool --silent--preserve-dup-deps --mode=compile gcc -Iext/date/lib -Iext/date/-I/home/walter/Downloads/php-5.3.5/ext/date/ -DPHP_ATOM_INC-I/home/walter/Downloads/php-5.3.5/include...lxml2 -lxml2 -lcrypt -lxml2 -lxml2 -lxml2 -lcrypt -o sapi/cli/phpGenerating phar.phpGenerating phar.pharPEAR package PHP_Archive not installed: generated phar will requirePHP's phar extension be enabled.directorygraphiterator.incdirectorytreeiterator.incclicommand.incinvertedregexiterator.incpharcommand.incphar.inc

Build complete.Don't forget to run 'make test'.

b

bmake test

=====================================================================PHP : /home/walter/Downloads/php-5.3.5/sapi/cli/php PHP_SAPI : cliPHP_VERSION : 5.3.5ZEND_VERSION: 2.3.0PHP_OS : Linux - Linux LM-U200 2.6.35-25-generic #44-Ubuntu SMP INI actual : /home/walter/Downloads/php-5.3.5/tmp-php.ini

...

WARNED TEST SUMMARY---------------------------------------------------------------------via [ext/pdo_sqlite/tests/common.phpt]

SQLite PDO Common: Bug #34630 (inserting streams as LOBs)[ext/pdovia [ext/sqlite/tests/pdo/common.phpt]

SQLite2 PDO Common: Bug #34630 (inserting streams as LOBs) [ext/sBug #39863 (file_exists() silently truncates after a null byte) [ext/=====================================================================

You may have found a problem in PHP.We would like to send this report automatically to thePHP QA team, to give us a better understanding of howthe test cases are doing. If you don't want to send itimmediately, you can choose "s" to save the report toa file that you can send us later.Do you want to send this report now? [Yns]:

sudo make install

Generating phar.phpGenerating phar.pharPEAR package PHP_Archive not installed: generated phar willdirectorygraphiterator.incdirectorytreeiterator.incclicommand.incinvertedregexiterator.incpharcommand.incphar.incInstalling PHP SAPI module: fpmInstalling PHP CLI binary: /usr/local/bin/...Installing man pages: /usr/local/man/man1/ page: phpize.1 page: php-config.1Installing PEAR environment: /usr/local/lib/php/[PEAR] Archive_Tar - installed: 1.3.7[PEAR] Console_Getopt - installed: 1.2.3[PEAR] Structures_Graph- installed: 1.0.3[PEAR] XML_Util - installed: 1.2.1[PEAR] PEAR - installed: 1.9.1Warning! a PEAR user config file already exists from a previous Wrote PEAR system config file at: /usr/local/etc/pear.confYou may want to add: /usr/local/lib/php to your php.ini include_path/home/walter/Downloads/php-5.3.5/build/shtool install -c ext/phar/phln -s -f /usr/local/bin/phar.phar /usr/local/bin/pharInstalling PDO headers: /usr/local/include/php/ext/pdo/

b

sudo cp php.ini-development /usr/local/lib/php.ini

oder

sudo cp php.ini-production /usr/local/lib/php.ini

b

bMit der neuesten Entwickler-Version

Entweder:wget http://snaps.php.net/php-trunk-latest.tar.bz2

Oder:svn checkout http://svn.php.net/repository/php/php-src/trunk/ trunk

cd trunk

./buildconf

./configuremakesudo make install

Standard aktivierte Extensions

Core ctype date

dom ereg fileinfo

filter hash Iconv

json libxml pcre

PDO pdo_sqlite Phar

posix Reflection session

SimpleXML SPL SQLite

sqlite3 standard tokenizer

xml xmlreader xmlwriter

./configure --disable-simplexml --without-sqlite3

(in php 5.3)

Populäre PHP Extensions

● APC, xCache, eAccelerator● Memcache, memcached● Xdebug● PostgreSQL, mongoDB, OCI8, SQLSRV● Sphinx, xapian, mnogosearch, solr● Suhosin

PECL

sudo pecl install apc

http://pecl.php.net/

b

phpize./configuremakesudo make install

Extensions kompilieren

Phpize gibt es ab php 5.3.6 auch fuer windows

b

/usr/local/lib/php.ini

[apc]

extension=apc.so

[xdebug]

zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"

b

http://de.php.net/manual/de/install.php

Walter Ebert Web Development

@wltrd

walterebert.de

blog.walterebert.com

slideshare.net/walterebert

Search Meetup Frankfurt (12.4.)searchmeetupfrankfurt.de


Recommended