Поиск по этому блогу

суббота, 11 марта 2017 г.

Конфиг xdebug

1) Узнаём, где у нас лежит xdebug.so, чтобы потом вставить этот путь в параметр zend_extension: find / -name xdebug.so
2) sudo vim /etc/php.d/15-xdebug.ini

zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.remote_enable=1
xdebug.remote_connect_back=1

xdebug.remote_handler=dbgp
xdebug.remote_port=9005

xdebug.var_display_max_depth = -1
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1

xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = on
xdebug.profiler_output_name = cachegrind.out.%t.%p

Я ещё добавляю xdebug.remote_autostart=1, хоть это немного и замедляет работу php, для разработки такое замедление некритично. Если ты, конечно, не используешь virtualbox filesystem. Там всё печально со скоростью, но это уже другая история.
Без автостарта нужно добавлять параметр XDEBUG_SESSION_START=idekey к запросу в браузере.

http://telegra.ph/XDEBUG-03-11

пятница, 29 марта 2013 г.

Удаленное выполнение команд с помощью ssh


Частенько бывает нужно просто выполнить пару команд удалённо, без захода в шелл.

Следующая команда ssh может быть использована для удаленного создания файла:

ssh user@ssh-server.com '( cd /tmp/ && touch ssh_file.txt )'

Создание локальной копии удаленного файла /etc/passwd в /tmp/passwd:

ssh user@ssh-server.com '( cat /etc/passwd )' > /tmp/passwd

Выполнение сценария на удаленном сервере с помощью ssh:

Примечание: мы предполагаем, что сценарий существует, он исполняемый и у вас есть права на его выполнение.

ssh user@ssh-server.com '( cat ~/myscript.sh )'

В этом примере мы сделали bzip2 локальной копии файла /var/log/auth.log в локальный каталог /tmp/:

ssh user@ssh-server.com '( cp /var/log/auth.log /tmp/; cd /tmp/ && tar -jcvf — auth.log )' > /tmp/auth.tar.bz2

Оригинал: http://www.linuxconfig.org/executing-commands-remotely-with-ssh-and-output-redirection

Этот материал находится на сайте http://compiling.ru

суббота, 17 марта 2012 г.

Детектирование Apple Safari 5.1.1 useragent с помощью jquery и javascript


Строка user-agent Safari от Apple выглядит так:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22

function checkSafariVersion(version) {
    $.browser.chrome = $.browser.webkit && !!window.chrome;
    $.browser.safari = $.browser.webkit && !window.chrome;
    if ($.browser.safari && navigator.userAgent.match(/Version\/(.*\s)/)[1].trim() < version) {
        alert('Update your Safari');
    }
    return;
}

checkSafariVersion('5.1.2');


Простой nginx+php+windows без всякой хни

1. Установка nginx

Качаем с http://nginx.org/ru/download.html последнюю версию
Распаковываем в удобное место.

2. Создаём батник для запуска

cd c:\www\_servers\nginx\
start nginx
c:\www\_servers\xampp\php\php-cgi.exe -b 127.0.0.1:9000 -c c:\www\_servers\xampp\php\php.ini
exit

(php-cgi.exe устанавливается вместе с php, я использовал php от xampp, апач которого предварительно прибил в службах и запретил ему запускаться)

3. Конфиг nginx.conf


worker_processes 1;

events {
    worker_connections 1024;
}


http {
    include mime.types;
    default_type application/octet-stream;

    sendfile on;

    keepalive_timeout 65;

    server {
        listen 80;
        server_name localhost;
        location / {
            root html;
            index index.html index.htm;
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }

    server {
        listen 80;
        server_name test.local;
        index index.html index.php;
        root c:/www/_!sites/test.local/;
        location ~ \.php$ {
            root c:/www/_!sites/test.local/;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME c:/www/_!sites/test.local/$fastcgi_script_name;
            include fastcgi_params;
        }
    }
}

4. Запуск службой

Я использовал для этих целей плагин для total commander под названиием Services (локальные службы). В качестве запускаемого приложения указал вышеупомянутый батник.

В переменную окружения записываем PHP_FCGI_MAX_REQUESTS со значением 0 (это для того, чтобы fcgi не отваливался по достижению максимального количества запросов)

В принципе, этого достаточно для запуска web-сервера nginx на вашем windows-"box".


суббота, 11 февраля 2012 г.

Complete property Internet Explorer

Оказывается, всеми горячо "любимый" браузер Internet Explorer (речь идёт о 9-й версии сего детища браузеростроения) как всегда, по-своему обрабатывает свойство complete DOM-элемента image (попросту - картинки).

Если просто размещать картинки и прикольные фотки на странице, то ничего страшного в этом нет, ты никогда об этом даже не узнаешь.

Но мы (корейские пионеры), создаём интерактивные приложения на html canvas, поэтому сей баг здорово подпортил нам кровь. Дело в том, что некоторые библиотеки (в частности, jcanvas) используют это свойство в своих функциях.

К счастью, решение проблемы существует в виде плагина к jQuery под названием $.fn.imagesLoaded jQuery plugin.
Пример использования:

$(imagesContainer).imagesLoaded(function(){
        делаем свои дела ;
});

imagesContainer  -  контейнер, в который загружаются картинки.

Вот и всё. Всем удачи.

четверг, 9 февраля 2012 г.

Виртуальные хосты. Апач на коленке за 5 секунд.


 Добавь в httpd.conf :


LoadModule vhost_alias_module modules/mod_vhost_alias.so 
# Virtual hosts
Include "conf/extra/httpd-vhosts.conf"

Потом в conf/extra/httpd-vhosts.conf напиши:

#задаем настройки директорий вебсервера по дефолту
<Directory "c:/www/_!sites/">
Options
ExecCGI 
Indexes 
FollowSymLinks 
MultiViews
AllowOverride all
Order Allow,Deny
Allow from all
</Directory>
#приказываем апачке различать хосты по имени и слушать все ип адреса машины
NameVirtualHost *:80
#задаем автоматическое подключение виртуальных хостов по их имени
<VirtualHost _default_:80>
VirtualDocumentRoot c:/www/_!sites/%0/
ScriptAlias /cgi-bin/ "cgi-bin/"
</VirtualHost>

Всё. Вместо c:/www/_!sites/ - путь к каталогу, где у тебя будут лежать каталоги с сайтами.

Вопросы?

суббота, 3 декабря 2011 г.

Improving font rendering on Ubuntu
I did not like the default font rendering in Ubuntu.

I found a patch to freetype2, that gives you a lot more flexibility over the font rendering, and does a decent job mimicking the rendering in OSX or Windows.

I found instructions here.
The remainder of this post is copy and paste:
 - Download freetype 2.4.8 from freetype.org and unzip it somewhere.
- Download the infinality .tar.gz file, and unzip it somewhere.
- cd to the freetype-2.4.8 directory from a terminal and run these commands (edit the paths to match where you unzipped): 
patch -p1 < /path/to/your/extracted/files/freetype-add-subpixel-hinting-infinality-20111117-1.patch 
patch -p1 < /path/to/your/extracted/files/freetype-enable-subpixel-hinting-infinality-20100909-1.patch
patch -p1 < /path/to/your/extracted/files/freetype-entire-infinality-patchset-20111117-1.patch
./configure
make
sudo mkdir /usr/lib/freetype-infinality/ sudo
find . -name libfreetype.so.6.8.0 -exec mv {} /usr/lib/freetype-infinality/ \;
cd /usr/lib/freetype-infinality ln -s libfreetype.so.6.8.0 libfreetype.so.6
Then look at the README file for instructions on where to put the configuration files.

http://blog.adamdklein.com/?cat=17