от примерно 2 PHP недели 5.3 Он входит в историю медленно, но верно. 11-го они объявили об окончании его технического обслуживания и которые будут размещены только обновления для системы безопасности 1 год. В основном PHP 5.4 идет в несколько этапов старой стабильной и PHP 5.5 становится устойчивым, который менее весело, потому что до сих пор часть дополнений и новых плагинов PHP работать не совсем корректно, но версия 5.5 Это довольно новое, так что я воздержусь от миграции к нему.

Так скажем, для меня миграции 5.4 по 5.3. Я ранее поставил Информация для устаревших функций, те, которые резко изменились, и те, кто больше не будет поддерживаться в течение не драмами с обеих сторон, которые не воспламеняются или 😉 Так сегодня утром синхронизации начала миграции вокруг 7 становление, что есть минимальная боль во время миграции, если не идти гладко. К моему большому удивлению, все прошло более гладко – скомпилировали PHP 5.4.17 Я начал его и Апач-о небесах все есть. Быстрый взгляд вокруг бревна будет рев depricated или вообще не неизвестных функций – Очевидно, ребята проделали свою работу хорошо. Тогда я был просто перекомпилировать и пищевые добавки, которые скомпилированы со старым API как APC, RAR и т.д.. Во-вторых перезагрузка и все заснули. Помимо ожидать улучшений в производительности, как люди во всем мире, указывая большой палец ноги некоторые таблетки, где показано, как PHP 5.4 потребляет меньше оперативной памяти и выполняет сценарии быстрее.

Через несколько дней из XAMPP 1.8.0 вчера после обновления с версии 1.7.7 Я имел довольно интересную проблему. PHPMYADMIN-и он не открывается, и взревел 403

Доступ запрещен!


Новая концепция безопасности XAMPP:

Доступ к запрашиваемому объекту доступна только из локальной сети.

Этот параметр можно настроить в файле “HTTPD-xampp.conf”.

Сразу открыли HTTPd-xampp.conf, который для меня является в / Opt / lampp / и т.д. / дополнительные /, На первый взгляд все выглядело отлично. Правила для локальной сети были среди. Помимо открытия локального хоста. WTF ??? Я посмотрел на бревно-и видеть, что мой доступ отсекается konfiguatsiyata. Вот теперь, что я ахнул и откровенно несколько меньше удачи нашел проблему. Пройдя над httpd. conf и увидел в разрешить/запретить положения одной последней строки Требуют все предоставлено. О эврика. Это новый механизм контроля, который вступил в Апач 2.4.x. Он дает доступ или отказ любого такого штрафа, в основном имитируют Разрешить / Запретить функциональность :). Для исправления этой проблемы, мы добавляем требуют всех выданных в папку / opt/Лампп/phpmyadmin. После того, как изменения в меня выглядит как

<каталог “/Opt / lampp / PHPMyAdmin”>
AllowOverride AuthConfig предел
Заказ позволяют,Отрицать
Позвольте от всех
Требуют все предоставлено
</каталог>

 

Viangi может попробовать другой дикий, например, чтобы переименовать папку PHPMYADMIN что-то другое, а не псевдоним. Но это некрасиво и не очень значимой 🙂

p.s Они спросили меня, почему я использую XAMPP не чистую установку всех компонентов, как их мой Debian родившийся – ответ действительно очень прост – ЛЕНЬ. Я слишком ленив, чтобы написать несколько команд, а затем получить konfovete и др.. Довольно легко это принять ваш весь пакет razarhiviraš и легких 😉

Поддерживая Zemanta

Debian OpenLogo

Другой день мой друг написал мне что я имел проблемы с Debian -мой сервер. Ее точно не держится больше чем sessiite 30 Независимо от того, сколько минут, чтобы настроить Session.gc_maxlifetime. В основном проблема заключается в том, что Debian решили переписать проведения сессий вместо сборщик мусора-и запустить один из cron каждый девятый и 39 минут, очищает старые сеансы. Он является in/etc/cron.d/php5

в целом, semplič″k скрипт, который в свою очередь запускает/usr/lib/php5/maxlifetime и переменных как долго это жизнь "cookie" 1440 секунд или 24 минут отсюда там — 😉 2 варианты или чтобы остановить короны и таким образом прекратить автоматической очистки, которая позже может перестроить из URphp.ini или непосредственно в сценарий, чтобы изменить жизнь долголетия сессий с переменной Макс. Я лично предпочитаю второй вариант. Довольно аккуратный общего, но есть недостаток – Если вы перезаписать изменения файлов будут потеряны это хлопотно факт.

пс. Теперь, когда я думаю о он вероятно если определено где-то еще где хранить информацию php через seiinata должна выходить за рамки сценария и, таким образом, чтобы использоваться снова в обычной сессии не прерывая грубый.

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 сделка с ним. Теперь давайте начнем немного расстояние. Когда вы установите php в системе пакетов Debian (стабильной для других, я не могу сказать, как это больше) К ней необходимо установить suhosin и мод. Я имел проблемы с кордом написано системы php и я принял решение для kardinalnoto для отладки приложений в системе и сообщить разработчику получить патч для безопасности и таким образом спасти себя головные боли. Обычно я могу смело сказать, что это был один из самых глупых решений, когда-либо принятых меня. Следующий отменить snap на PHP5-Suhosin сброс веб сервера и ой луч – -патч еще загружается. После очень короткого обследования обнаружено, Этот пакет компилируется и с Pacha непосредственно в коде, который означает, что он не будет выключить или удалить если вы prekompilira код заново без арахис. Решите, что вы будете dr″pna и prekompiliram для deb пакет. Сделали ли вы apt получить php5 источник тянет меня этот исходный код, razpaketirva и так далее. Здесь идеальным идея, чтобы загрузить Щорса пакета для удаления арахис и скомпилировать его снова в debianski пакет плюс две небольшие оптимизации для компиляции. Сказано и сделано – Я удалили изображение с патч Debian/patches/Suhosin.patch Я извлекал его не играть серии/патчи/Debian. Здесь все ясно и без проблем. Выполните перекомпиляцию пакета с debuild и, как я ожидал моего СОЗ компиляции из-за недостающих заголовков. Конечно, там будет такой нехватки – Я с debian netinstall. Исправить вашу глупость реальные быстро снова выпустить сборник, в одной точке премьер-министр вновь только, Это странная ошибка в 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' \
"[email protected]"

Эта конфигурация аналогична компиляции dotdeb. Самое важное-это префикс вариант, где вы будете иметь файлы с php библиотеки. Он и другие времена правильно согласно вашей системы так, что вы не чувствуете изменения компиляции дорог.

Поддерживая Zemanta

Vector logo of the PHP programming language wi...

Сегодня мы зажгли свет чтения для php кэш из HTML. Здесь мы говорим о кэшировании вывода нашего кода и не, как я написал, чтобы обналичить в skritpovete код операции уровень с eAccelerator. Так вещи – Давайте вспомним быстрой работы с php это. Отправить запрос веб-сервер-Он принимает нас параметров, которые мы представить, его затем представляет их в php скрипт он компилирует и выплюнуть результатов в html-версии. Он находится в довольно общих линий. Какова наша идея здесь запросы, более большие блоки или блоки не столь большой как прямой рисовать соломинки раз скомпилированного вывода. Преимущества очевидны – namalâna раз, меньше нагрузки и потребление ресурсов. В целом не является открытием горячей воды или что-то, кто знает как сложные. Существует несколько классов для этой цели, такие как PHP Груша Cache_Lite который имеет большую функциональность, но я думаю в будущем, чтобы написать шахты с более упорядоченной структурой и мои требования для кэширования записи на. Сейчас мы будет взглянуть на aborigenskiâ вариант с Функции контроля вывода. Так что давайте обналичить что-то –

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

Приведенный выше код тривиально, но позвольте мне объяснить, что случилось. Сначала мы объявить, какую часть в коде начинается кэширование. Затем вы генерировать более стандартный способ код выхода. Затем созданные выходные присоединяется к переменной, которая будет доступна позже, ли в файле или во время сессий, это ваше решение. Наконец удалить и отключить кэширование. Довольно тривиальная операция, если Давайте скажем geenriraneto кэш проходит через огромные блоки кода, так что мы можем сохранить много времени ЦП как обналичить, на некоторое время, или для сеанса. Теперь это все о том, что вы хотите ли кэш стала доступной для общественности или доступен для различных пользователей.

Поддерживая Zemanta