von etwa 2 php Wochen 5.3 Er tritt in die Geschichte langsam aber sicher. Am 11. angekündigt, dass sie das Ende ihrer Wartung und das wird nur Sicherheits-Patches für platziert werden 1 Jahr. Grundsätzlich PHP 5.4 geht in Stufen alten Stall und PHP 5.5 wird stabil, die weniger Spaß, weil immer noch ein Teil von Ergänzungen und neue PHP-Plugins nicht ganz korrekt, aber die Meldung Version 5.5 Es ist ziemlich neu, so dass ich von der Migration, um es zu unterlassen werden.

Lassen Sie uns also für mich sagen zu Migration 5.4 von 5.3. Ich hatte bereits vorher Informationen für veraltete Funktionen, diejenigen, die sich geändert haben dramatisch und diejenigen, die nicht mehr für keine Dramen auf beiden Seiten gehalten werden, die nicht entzündet oder 😉 So heute Morgen Timing des Beginns der Migration um 7 werden, dass es nur minimale Schmerzen während der Migration, wenn nicht glatt gehen. Zu meiner großen Überraschung, ging alles reibungslos – kompiliert Ihre PHP 5.4.17 Ich begann es und Apache-oh Himmel alles, was es. Ein kurzer Blick um die Protokolle brüllen von depricated oder gar nicht unbekannten Funktionen – offensichtlich die Jungs haben ihre Arbeit gut gemacht. Dann wurde ich nur neu kompilieren und Ergänzungen, die mit der alten API als APC kompiliert werden, RAR und andere. Zweiter Neustart und alles schlief. Neben erwarten Verbesserungen in der Produktivität, wie die Menschen überall ein paar Tabletten große Zehe zeigt, wo zeigt, wie PHP 5.4 verbraucht weniger RAM und führt Skripte schneller.

Ein paar Tage aus XAMPP 1.8.0 gestern nach dem Upgrade von Version 1.7.7 Ich hatte ein recht interessantes Problem. Phpmyadmin, und er lässt sich nicht öffnen und brüllte mit 403

Zugang verboten!


Neue XAMPP Sicherheitskonzept:

Der Zugriff auf das angeforderte Objekt ist nur aus dem lokalen Netzwerk.

Diese Einstellung kann in der Datei konfiguriert werden “Httpd-xampp.conf”.

Sofort öffnete httpd- xampp.conf mir, die in der / opt / lampp / etc / extra /, alles auf den ersten Blick sah gut aus. Die Regeln für das lokale Netzwerk gehörten. Neben der Öffnung localhost. WTF ??? Ich schaute auf die Log-und sehen, dass mein Zugang von konfiguatsiyata abgeschnitten. Hier nun, was ich keuchte und ehrlich gesagt etwas weniger Glück gefunden, das Problem. Nach dem gehen über die Httpd. Conf und sah in die Allow/Deny Klauseln eine letzte Zeile Verlangen, dass alle gewährten. Oh Heureka. Dies ist ein neuer Kontrollmechanismus, der abgeschlossen Apache 2.4.x. Es ermöglicht den Zugriff oder eine solche feinen Verweigerung, grundsätzlich imitiert Zulassen / Verweigern Funktionalität :). Um das Problem zu beheben, das fügen wir alle erteilten in der/opt/Lampp/Phpmyadmin-Ordner benötigen. Nach den Änderungen in mir aussieht

<Verzeichnis “/opt / lampp / phpMyAdmin”>
AllowOverride AuthConfig Grenze
Bestellen Sie erlauben,verweigern
Lassen Sie von allen
Verlangen, dass alle gewährten
</Verzeichnis>

 

Viangi kann eine andere wilde versuchen, zum Beispiel den Ordner phpMyAdmin etwas anderes und nicht Alias ​​umbenennen. Aber es ist hässlich und nicht sehr aussagekräftig 🙂

P.S Sie fragten mich, warum ich XAMPP nicht sauber Installation aller Komponenten verwenden, wie sie mein Debian ist geboren – die Antwort ist eigentlich ganz einfach – FAULHEIT. Mich zu faul, um mehrere Befehle zu schreiben dann Konfovete etc. bekommen.. Ist ganz einfach nehmen Sie Ihre ganze Packung Razarhiviraš und leichte 😉

zemanta ausgebaut.

Debian OpenLogo

Neulich ein Freund schrieb mir, dass er mit ein Problem hatte, debian Ihr Server-a. In nur nicht mehr als EASB Bewachung 30 egal wie Minute Melodien Session.gc_maxlifetime. Grundsätzlich ist das Problem ist, dass Debian hat sich entschieden, das Verhalten von Sitzungen statt neu zu schreiben Garbage Collector-und startet einen cron jeden 9. und 39. Minute, die alte Sitzungen entfernt. Toi in /etc/cron.d/php5 befindet

Insgesamt ist das Sempličk-Skript, welches wiederum startet/Usr/Lib/php5/Maxlifetime und Variable wie lange ist die Lebensdauer des Cookies, das ist 1440 Sekunden oder 24 Minuten 😉 dort von hier 2 Optionen oder kronen und somit beendet die automatische Reinigung zu stoppen, die später durch php.ini oder direkt in das Skript neu eingestellt werden kann sich die Dauer des Lebens von Sitzungen mit variabler max zu ändern. Ich persönlich bevorzuge die zweite Option. Viel sauberer ist in der Regel hat aber den Nachteil, – Wenn Sie überschreiben werden die Änderungen an der Datei verloren, die eine unangenehme Tatsache ist.

PS. Nun, ich denken sollte es wahrscheinlich, wenn irgendwo anders definiert ist, wo die Php Info über Seiinata gespeichert gehen würde den Rahmen sprengen, das Skript und somit wieder in eine normale Sitzung ohne Unterbrechung unhöflich verwendet werden.

ini_set('session.gc_maxlifetime', 14400);
 ini_set('session.gc_probability', 1);
 ini_set('session.gc_divisor', 100);
 session_save_path(APP_PARENT_DIR . '/sessions');

zemanta ausgebaut.

heute werde ich ihnen eine server - probleme suhosin pflaster und wie debian sqeeze mit ihm umgehen. jetzt beginnt ein bisschen weit. bei der installation von php in der debian - paket - system (andere können noch nicht sagen, wie stabil) sie installieren und suhosin - methode:. ich hatte probleme mit dem inhaber der genehmigung für das inverkehrbringen - eine schriftliche php - system und haben den kardinal entscheidung system statt дебъг und wieder bericht разработчика holt patches für sicherheit und zu vermeiden, kopfschmerzen. Insgesamt kann ich getrost sagen, dass dies eines der dümmsten Entscheidungen war ich jemals getroffen. Zuerst entfernen Modul PHP5-suhosin Neustart Web-Server-a und oops Post – Patch-a ist noch geladen. nach einer kurzen untersuchung gefunden., das paket ist erstellt haben und pacha direkt in den code, was bedeutet, dass kein ausschluss oder entfernen, wenn прекомпилира code ohne schlacke. Lösen Sie das wird drapna und neu kompilieren zu deb-Paket. Geschehen Gesagt Ihre apt-get tun Quelle php5 mir diesen Quellcode ziehen, razpaketirva und etc.. Hier die perfekte Idee Sorsa des Pakets, die Erdnüsse zu entfernen und wieder zu Debianski Paket plus ein zwei kleine Optimierungen für die Kompilierung zu kompilieren herunterladen. Gesagt und getan ist – beseitigung unnötiger pflaster debian / patches / suhosin.patch ich entfernte ihn nicht spielen debian / patches / serie. hier alles klar und ohne probleme. dann geh zu komprimieren die debuild und wie ich meine Pop-Compilation wegen fehlenden Header erwartet. Natürlich werden solche Engpässe – Ich bin mit debian netinstall. Ihre Dummheit ganz schnell beheben lassen wieder los, Zusammenstellung, nur an einem Punkt wieder in Ohnmacht fallen, dass mit einem seltsamen Fehler in Zend / zend_stream.h oder .c nicht genau erinnern, (wenn ich später beschäftigen kann genau prüfen, welche Datei und die Linie donnerte). Nach einem Nedoumâvane was geschieht und warum zur Hölle können in Zend Core rumble – wo soll er nicht schießen, die keinen grund und einer längeren untersuchung finde ich, dass das problem relativ selten ist und nicht viele signale für ihn. Ich vermute, dass alle Patches in der Quelle ist falsch, aber jetzt ich keine Nerven habe zu überprüfen. Hmmmmm seltsame Super komisch. Ich wollte fast reine Php kompilieren, aber habe ich beschlossen, zu versuchen, den Spiegel dotdeb sehen, was passiert.. für etwas seltsam, aber starb dort mixtape aber ignorieren probleme in den wichtigsten teil. das ist verständlich, hatte sie 30-40 patches, die im paket. nach einer langen und erfolglosen versuche ich, und ich wurde mit vanille - paket und fast debian - ski optionen idee meiner aktuellen installation neu zu schreiben und neue pakete installieren durch kann verhalten - paket installiert haben, in dem lagerhaus (vielleicht noch обособно keine vernünftige entscheidung). wie erwartet ohne installation reibungslos pflaster. das ist der config.nice meine akte:

#! /bin/sh
#
# Created by configure

CFLAGS='-g -O2 -fPIC -Wall -fsigned-char -fno-strict-aliasing   -gstabs' \
CXXFLAGS='-g -O2' \
'./configure' \
'--with-apxs2=/usr/bin/apxs2' \
'--prefix=/usr/local/php5' \
'--disable-cgi' \
'--with-config-file-path=/etc/php5/apache2' \
'--with-config-file-scan-dir=/etc/php5/apache2/conf.d' \
'--build=x86_64-linux-gnu' \
'--host=x86_64-linux-gnu' \
'--sysconfdir=/etc' \
'--localstatedir=/var' \
'--mandir=/usr/share/man' \
'--disable-debug' \
'--with-regex=php' \
'--disable-rpath' \
'--disable-static' \
'--with-pic' \
'--with-layout=GNU' \
'--with-pear=/usr/share/php' \
'--enable-calendar' \
'--enable-fileinfo' \
'--enable-hash' \
'--enable-json' \
'--enable-sysvsem' \
'--enable-sysvshm' \
'--enable-sysvmsg' \
'--enable-bcmath' \
'--with-bz2' \
'--enable-ctype' \
'--without-gdbm' \
'--with-iconv' \
'--enable-exif' \
'--enable-ftp' \
'--enable-dbase' \
'--with-gettext' \
'--enable-mbstring' \
'--with-onig=/usr' \
'--with-pcre-regex' \
'--with-mysql=shared,mysqlnd' \
'--with-mysql-sock=/var/run/mysqld/mysqld.sock' \
'--with-mysqli=shared,mysqlnd' \
'--enable-pdo=shared' \
'--with-pdo-mysql=shared,mysqlnd' \
'--with-pdo-odbc=shared,unixODBC,/usr' \
'--with-pdo-pgsql=shared,/usr/bin/pg_config' \
'--with-pdo-sqlite=shared,/usr' \
'--with-pdo-dblib=shared,/usr' \
'--enable-phar' \
'--enable-shmop' \
'--enable-sockets' \
'--enable-dom' \
'--enable-wddx' \
'--enable-tokenizer' \
'--with-zlib' \
'--with-kerberos=/usr' \
'--with-openssl=/usr' \
'--enable-soap' \
'--enable-zip' \
'--with-mhash=yes' \
'--with-exec-dir=/usr/lib/php5/libexec' \
'--with-system-tzdata' \
'--without-mm' \
'--with-readline=/usr' \
'--without-sybase-ct' \
'--without-sqlite' \
'--without-sqlite3' \
'--without-mssql' \
'--enable-pcntl' \
'--enable-inline-optimization' \
"[email protected]"

Diese Konfiguration ist ähnlich wie bei der Erstellung der dotdeb. Die Gründe und vor allem Präfix Option, wo Sie Dateien haben, werden die Bibliotheken php. Es und zu anderen Zeiten korrigieren nach Ihrem System, so dass Sie nicht das Gefühl, die Zusammenstellung ändern von Straßen.

zemanta ausgebaut.

Vector logo of the PHP programming language wi...

Heute traf ich eine leichte Lektüre für PHP Cache-Speicher von HTML. Hier haben wir über Caching der Ausgabe unseres Codes sprechen nicht as've in den Cache geschrieben skritpovete Opcode Ebene mit eAccelerator. Also, was ist alles über – machen wir uns der schnellen Arbeit erinnern php-it. Wir unterbreiten Anfrage Web-Server-eine uns übernimmt er die Parameter, die wir geben sie dann ein PHP-Skript er es kompiliert gefüttert und spucken was in der HTML-Version. Dies ist ganz allgemein,. Wie wird unsere Idee hier Anfragen zu überspringen, große Blöcke zu überspringen oder nicht so groß, wie die Blöcke direkt einmal gemalt bereits kompilierte Ausgabe. Die Vorteile sind offensichtlich, – Verringerung der Ausführungszeit, weniger Belastung und Ressourcenverbrauch. Es wird erkennen, im Allgemeinen nicht mit heißem Wasser oder etwas, der weiß, wie kompliziert. Es gibt viele Klassen zu diesem Zweck als PHP Birne Cache_Lite_Output Die hat ein schönes Feature, aber ich denke, in Zukunft mit meiner sehr erleichtert, Struktur und Minen ihre Anforderungen für das Caching zu schreiben. Jetzt werden wir bei der Aborigines Variante aussehen Funktionen zur Ausgabesteuerung. So etwas Cache lassen –

//start cache all output after that will be saved

ob_start();

//generate output

echo 'Some dynamic output';

echo 'Some other dynamic output ...';

//assign output into variable

$var=ob_get_contents();

//close cache output

ob_end_flush();

Über Code trivial ist, aber lassen Sie mich erklären, was passiert ist. Erste declare, die einen Teil des Codes beginnt Caching. Dann erzeugen wir einen Standard-Exit-Code. Dann tritt die generierte Ausgabe Variable, die später zur Verfügung stehen, ob in einer Datei oder während der Sitzungen, es ist deine Entscheidung. Schließlich entfernen Sie und deaktivieren Sie zwischenspeichern. Eine triviale Operation, wenn wir sagen Geenriraneto Cache geht durch riesige Blöcke des Codes damit wir viel CPU-Zeit als Cash-out für eine Weile oder für eine Sitzung speichern können. Jetzt es geht darum, was Sie wollen ob Cache der Öffentlichkeit zugänglich gemacht worden ist oder für andere Benutzer zugänglich ist.

zemanta ausgebaut.