php selber bauen - walter ebert · php selber bauen php user group frankfurt 31.03.2011 walter...
Post on 23-Jan-2019
221 Views
Preview:
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/
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
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
Walter Ebert Web Development
@wltrd
walterebert.de
blog.walterebert.com
slideshare.net/walterebert
Search Meetup Frankfurt (12.4.)searchmeetupfrankfurt.de
top related