約から 2 PHPの週 5.3 彼はゆっくりと、しかし確実に物語に入ります. 11日に彼らはそのメンテナンスの終了を発表し、それがための唯一のセキュリティパッチを配置されます 1 年. 基本的にPHP 5.4 ステージ旧安定版とPHPで行きます 5.5 安定, これは追加して、新しいPHPのプラグインのさらに一部はかなり正常に動作しませんので、あまり楽しいものですが、バージョン 5.5 私はそれへの移行を控えるように、それはかなり新しいです.

それでは、移行に私のために言わせて 5.4 から 5.3. 私は以前に入れていました 情報 廃止された機能のために, 劇的に変化したものと、もはや発火や周りの移行の開始の😉だから今朝のタイミングではないでしょう両側にノードラマのために維持されません人々 7 なってきて, スムーズに行かない場合は、最小限の痛みは、移行中に存在すること. 私の大きな驚きに、すべてがよりスムーズに行ってきました – あなたのPHPをコンパイル 5.4.17 私はそれを開始し、Apache-OH天のすべてがそこにあります. ログの周りの一目は、廃止予定か、全く未知の機能の轟音ます – 明らかに人はよく自分の仕事をしています. その後、私はちょうど再コンパイルしたAPCなどの古いAPIを使用してコンパイルされているサプリメント, RARおよび他の. 2回目の再起動、すべてが眠りに落ちました. 人々はどこにでも足の親指をどのようにPHPを示し、いくつかの錠剤を指しているように離れて生産性の向上を期待します 5.4 少ないRAMを消費し、より高速なスクリプトを実行します.

ワードプレスのドメインを変更するのにはいくつかの痛み. 最近これらのいくつかをしなければ、すべて発生速いスポーツ 😀 . 私は sumariziram することができる場合は手順が 2 – ファイルを移動せずに当然のことながら, 設定が変更された場合完全ホスティング.

1. 新しい古い URL を変更します。 – ここでの事は些細です. URwp config.php ファイルを開き、次のように貼り付けます 2 ライン


define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Http に置き換えられますように://あなたの新しい example.com.

2. サイトは現在画像などのアップロードされたコンテンツが url を開く作業です。, ドキュメントが表示されません。. ここ今干渉. データベースで新しい url で、古い交換する必要があります。. それは特に初心者ユーザーのための非常に厄介なプロセス, SQL 構文をよくしない人, но вече има доста приятен скрипт searchreplacedb2, あなたのためが不快になります. その使用は簡単です。 – ワードプレスが、ページ ルート ディレクトリにそれをアップロード、あなたのブラウザーで開く. След това следвате стъпките като първо ще ви пита за потребителско име и парола който е взел от вашия wp-config.php и след това ще ви пита за новото и старото url. След последната стъпка ще се наложи да поизчакате при мен отнемаше средно 40сек -50сек.

Това е във общи линии нищо трудно или супер сложно.

Debian OpenLogo

Миналия ден един приятел ми писа че имал проблем с Debianの server-a си. По точно не му пазел сессиите повече от 30 минути независимо колко се настройва session.gc_maxlifetime. В общи линии проблема е че Debian са решили да пренапишат поведението на сесиите като вместо garbage collector-а се стартира един cron на всяка 9-та и 39-та минута който почиства старите сесии. Тои се намира в /etc/cron.d/php5

като цяло семпличък скрипт който стартира от своя страна /usr/lib/php5/maxlifetime и в него се намира променливата колко време да е живота на кукито който е 1440 секунди или 24 минути 😉 От тук нататък има 2 варианта или да се спре крон-а и по този начин се прекратява автоматичното чистене което може по късно да се пренастрой от php.ini или направо в самия скрипт да се промени продължителноста на живота на сесиите с променливата max. Аз лично предпочитам втория вариант. Доста по чист е като цяло но има и недостатъкако се презапише файлът промените ни ще се изгубят което си е неприятен факт.

psの. Сега като се замисля вероятно ако се дефинира друго място където да се съхранява сеиината информация чрез самото php би трябвало да излезе извън обхвата на скрипта и по този начин да се използва пак по нормален сесията без да прекъсва грубо.


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の強化されたことにより、

今日、我々 はあなたの問題を持つサーバーについての話 Suhosin パッチとどのように Debianの 彼の Sqeeze 対処. 今は少し距離を始めましょう. Debian のパッケージ システムに php をインストールするとき (他の安定した、私ことはできませんどのようにものだと言う) それに suhosin と mod をインストールする必要があります。. Php のプライ書かれたシステムとの問題を持っていた、私はシステム上のアプリケーションのデバッグを行うと、セキュリティ パッチを入手する、だから自分の頭痛を節約する開発者に戻って報告する kardinalnoto のための決定を取った. 一般的に言える大胆に今回は私が今撮影した最も愚かな決定の 1 つ. 次はスナップを元に戻す php5-suhosin は web サーバーをリセットし、おっとビーム – パッチは、まだ読み込まれています。. 非常に簡単なアンケートが検出された後, そのパッケージがコンパイルされ、つまりコードで直接パチャとそれがないをオフにするまたは削除しない限り、prekompilira のピーナッツなし改めてコード. あなたが dr″pna と deb パッケージに prekompiliram ということを決定します。. 行っているかを apt ソース php5 私このソース コードを引っ張って, razpaketirva などなど. ここでピーナッツを削除し、debianski パッケージとコンパイルの 2 つの小さな最適化を再度コンパイルするパッケージの Sorsa をダウンロードする完璧なアイデア. 結局のところ – パッチから画像を削除しました。 debian/patches/suhosin.patch プレーする彼を削除しました。 debian/パッチ/シリーズ. ここですべて明確にし、問題もなく. その後、私を使用してパッケージを再コンパイルする実行します。 debuild 不足しているヘッダーのため私のポップのコンパイルを期待どおりに、. もちろんそのような不足があるでしょう – 私は debian のネットワーク インストール. 実際に素早くあなたの愚かさを修正再度コンパイルをリリース, 1 点総理大臣は、もう一度, それは Zend の奇妙なバグ/zend_stream h または c が正確に覚えていません。 (契約は後でまさにどのファイルのどの行を確認することができる場合に話していた). 後、nedoumâvane 何が起こっているとなぜ地獄は Zend Core でランブルすることができます。 – ここで理由がないとやや長く研究を検出この問題は比較的まれであるために音を立ててはいけないと多くの彼のための信号. 思うソースのパッチのいずれかが間違っているが、今私は確認する神経があります。. Hmmmmm 奇妙なスーパー奇妙な. ほぼ純粋な php をコンパイルすることを決めたが、ミラーを試してみることにしました dotdeb そこに何が起こるか見てみましょう. コンパイルがいくつかの奇妙な依存関係のため死亡したが、主要な部分の問題を越えて注解しました. ターンでは、当然のことながら彼らがなくなっていた 30-40 安定したパッケージは、パッチ. 肩をすくめた私いくつかの長いと失敗した試みの後、私はバニラのパッケージをダウンロードし、パッケージをリポジトリからインストールの動作を持つことができます私の現在のインストールを書き換えるし、鳥の送り装置から新しいパッケージをインストールするアイデアをほぼ debian スキー オプションでコンパイル (おそらく、ちょうど別の obosobno ない賢明な). パッチなし期待どおりにインストールが順調. これは素敵な私の設定ファイルの出力です。:


#! /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' \
"$@"

この構成は、dotdeb をコンパイルするのに似ています. Като основаното и най важно е prefix опцията където ще се разполагат файловете с библиотеките на php. Него както и другите пъти ги коригирайте според вашата система така че да не се усети компилацията с промяна на пътищата.

Zemantaの強化されたことにより、

Vector logo of the PHP programming language wi...

Днес ще драсна едно леко четиво за php cachehtml. Тука говорим за кеширане на изхода от кода ни а не както съм писал да кешираме скритповете до opcode ниво с eAccelerator. Така за какво иде речнека да си припомним на бързо работата на php-то. Подаваме заявка на web server-a ни той приема параметрите който подаваме след това той ги подава на php скрипта той се компилира и плюе резултат в html вариант. Това е в доста общи линии. Каква ще е идеята ни тука да прескачаме заявки, да прескачаме големи блокове или не чак толкова големи блокове като директно изрисуваме вече веднъж компилирания изход. Преимуществата са очевиднинамаляна на времето за изпълнение, по малко натоварване и потребление на ресурси. Като цяло не е откриване на топлата вода нито е нещо кой знае колко сложно. Има множество класове за тая цел като PHP Pear Cache_Lite който разполага с прекрасна функционалност но аз мисля в бъдеще да си напиша мой с доста по облекчена структура и мой си изисквания към кеширането. Сега ще разгледаме най аборигенския вариант с Output Control Functions. Така нека да кешираме нещо

//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();

Горния код е тривиален но нека да обясним какво стана. Първо декларираме от коя част в кода започва кеширането. След това си генерираме по стандартен начин изхода от кода. След това генерирания изход се присъединява към променлива която ще е достъпна по късно дали през файл някакво или през sessions това си е ваше решение. Накрая изчистваме и прекратяваме кеширането. Съвсем тривиална операция ако да речем геенрирането на кеша минава през огромни блокове от код така можем да спестим доста процесорно време като кешираме за известно време или за една сесия. Вече всичко опира то това какво искате дали да е общодостъпен кеша или да е достъпен за различен потребител.

Zemantaの強化されたことにより、