PHP 5.4 Beta1: Testen bitte!
Heute vormittag ist die PHP 5.4.0beta1 released worden. Damit wir ein möglichst stabiles und fehlerfreies PHP haben auf allen Systemen ist jeder aufgerufen, die Testsuite durchlaufen zu lassen. Das geht sehr schnell und ohne viel Aufwand:
wget http://downloads.php.net/stas/php-5.4.0beta1.tar.gz tar -xzvf php-5.4.0beta1.tar.gz cd php-5.4.0beta1 ./configure --prefix=/usr/local/php5.4.0beta1 --with-zlib --with-config-file-path=/usr/local/php5.4.0beta1/etc --enable-mbstring --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-zip --with-imap --with-kerberos --with-imap-ssl --with-openssl --with-jpeg-dir --with-gd --with-gettext --with-freetype-dir make make test
Der configure Aufruf ist nur ein Beispiel, ihr müßt natürlich dort die Extensions und Optionen nehmen die eure PHP-Installation benötigt, also wahrscheinlich mit Apache-Anbindung (–with-apxs2) usw.
Solltet ihr den folgenden Fehler bekommen:
configure: error: xml2-config not found. Please check your libxml2 installation.
behebt ihr das einfach mit der Installation des libxml2-dev Pakets:
sudo apt-get install libxml2-dev
Am Ende des Durchlaufs der 8615 Test erhaltet ihr dann das Ergebnis, entweder es gab Fehler oder es gab keine. Im ersten Fall könnt ihr den Fehlerbericht direkt an das QA-Team schicken indem ihr Y drückt und eure E-Mail-Adresse eingebt zwecks eventueller Rückfragen.
Danach kann das Verzeichnis einfach wieder gelöscht werden. Oder noch besser auf einem Testsystem mittels
sudo make install
richtig installieren und eure Applikation testen! Aber passt auf dass ihr dadurch nicht eine laufende PHP-Installation überschreibt und zerstört. Bis zum „make test“ macht ihr nichts kaputt.
Danke!
Hi,
statt –enable-mysqlnd würde ich sowas wie –with-mysql oder –with-mysqli oder so nehmen. –enable-mysqlnd baut mysqlnd was dann aber keine Funktion hat (außer man baut eine der andere MySQL extensions danach unabhängig shared …)
Und neben dem make test wäre ein Testen eigener Sachen noch wichtig. Das die Tests laufen is ja schön und gut, die decken aber nur ein Bruchtei lder schweinereien ab, die PHP-Anwendungen so machen und noch können wir BC breaks als Bug fixen. Danach sind die eventuell Features.
johannes
P.S. BC = backwards compatibility
Johannes
16 Sep 11 at 16:46
Ich empfehle noch sowas wie
| –prefix=~/php54
‚make install‘ macht dann eine bestehende Installation nicht kaputt (ausser die befindet sich in ‚~/php54‘ ;)), weil PHP dann in ‚ ~/php54‘ installiert wird (und so ganz nebenbei braucht man auch keine Root-Rechte, weil Home). Konkret: Die CLI-Binary heißt dann unter ~/php/bin/php und die CGI ~/php/bin/php-cgi.
Damit ist alles gefahrlos 🙂
KingCrunch
16 Sep 11 at 18:26
Ich seh gerade warum steht in der phpinfo die configure Zeile nicht mehr drin!? Und ich tendiere zu checkinstall. Testsystem hin oder her. 🙂
Oliver
16 Sep 11 at 19:25
Kingcrush: Der Prefix heißt nicht, dass da nur dorthin geschrieben wird. Wenn Du Apache per apxs konfigurierst wird der von sich aus die mod_php5.so herum kopieren und irgendwo hin legen und Konfigurationsdateien ändern. Das finden die Apache Leute toll. Aber: Das make install kann man sich zum testen auch sparen. sapi/cli/php hat das CLI binary und in modules/ ist das apache modul …
Oliver, es gibt Distributionen, die die anzeige heraus patchen. Distributor-Configure-Zeilen sind meist auch nicht praktikabel für allgemeine Nutzung. Die basieren zum Teil auf speziellen Patches etc.
Johannes
17 Sep 11 at 00:04
@Johannes
Ja, ich installier das seit Jahren aus den dotdeb Quellen. Ich war jetzt nur verwundert, weil das früher mal drin war.
Oliver
17 Sep 11 at 02:54
Hallo Michael,
ich wollte mal fragen, ob du evtl. Verwendung für nen Gastbeitrag über Traits hättest. Dann würd ich da nämlich mal einen schreiben. Gäbe es in diesem Bezug irgendwelche Aspekte, die dich besonders interessieren/hervorgehoben werden sollten?
Gruß, Thomas
Thomas
17 Sep 11 at 12:03
@Thomas: Das Thema steht ja bald an, also ein sehr interessantes Thema! Sehr gern würd ich da deinen Artikel publizieren!
Prinzipiell lasse ich dir freie Hand, ist ja schliesslich ein Gastbeitrag. Wenn möglich praxisorientiert, mit Codebeispielen usw. Wenn es zuviel wird eventuell in 2 Artikel aufteilen, in den Details wird es ja doch umfangreicher. Es kann aber auch gern ein Übersichtsartikel sein, alles möglich.
Habe dir eine kurze E-Mail geschickt.
Michael Kliewe
17 Sep 11 at 13:01
Eine kleine Frage, vielleicht weiß da einer mehr als ich:
Wird APC jetzt eigentlich in PHP 5.4 integriert oder doch erst später? Leider hab ich dazu nichts finden können und es gibt auch (noch?) keine Version von der php_apc-Extension.
dc2
19 Sep 11 at 12:53
Bug #51994 (date_parse_from_format is parsing invalid date using ‚yz‘ format) [ext/date/tests/bug51994.phpt] XFAIL REASON: Bug #51994 isn’t fixed yet
DateTime::add() and sub() result -1 hour on objects with time zone type 2 [ext/date/tests/bug55253.phpt] XFAIL REASON: Bug 55253 exists
Bug #42718 (unsafe_raw filter not applied when configured as default filter) [ext/filter/tests/bug42718.phpt] XFAIL REASON: FILTER_UNSAFE_RAW not applied when configured as default filter, even with flags
Bug #45712 (NaN/INF comparison) [ext/standard/tests/math/bug45712.phpt] XFAIL REASON: Bug 45712 not fixed yet.
=====================================================================
=====================================================================
FAILED TEST SUMMARY
———————————————————————
bug#53872 (internal corruption of phar) [ext/phar/tests/bug53872.phpt]
Test posix_kill(), posix_get_last_error and posix_strerror() functions : basic functionality [ext/posix/tests/posix_kill_basic.phpt]
=====================================================================
loci
19 Sep 11 at 12:53
Ich hatte Probleme mit „utf8_mime2text“ und musste, wie hier für Fedora/RedHat beschrieben, unter Ubuntu „libc-client2007e-dev“ installieren.
Arvid Bergelmir
22 Okt 11 at 20:37
@Johannes: Klar, brauch ich `make install` zum Testen nicht, zumindest zum Testen von PHP selbst 😉 Mich interessiert aber auch das neue Feature-Set bzw wie sich die neue Version mit meinem existierenden Code verhält.
KingCrunch
22 Okt 11 at 21:13
Ich habe am Freitag mitbekommen, dass in PHP 5.4 folgendes möglich sein soll:
(new PDO('...'))->query('...')
Ich habe mich daher mal im PHP Wiki umgeschaut und auch den passenden Artikel dazu gefunden. Momentan scheint dieses Feature aber noch nicht in PHP drin zu sein, denn es steht noch auf der TODO-Liste. Finde aber, dass das echt ein Feature ist, welches PHP gefehlt hat 🙂
Arvid Bergelmir
23 Okt 11 at 09:43