Мой профиль...

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

четверг, 9 июня 2016 г.

Switch between PHP versions on the same machine - Переключение между версиями РНР на одном компьютере

Переключение между версиями PHP на одной машине

Возникла задача:

  1. Иметь версию php без расширения gettext (Если ставить из пакетов, то оно уже предустановлено и выпиливается с трудом)
  2. Иметь возможность быстро переключаться между версиями php на своей машине (сейчас происходит фаза активного перехода с 5.6 на 7.x)
Сходу было найдено решение: phpbrew. Тут сейчас опишу те подводные камни, на которые наплыл.

Как установить phpbrew

curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
chmod +x phpbrew

Как работает phpbrew

В home dir создается папка .phpbrew. Внутри нее в подпапке php будут все наши версии php с установленными зависимостями

Установка новой версии php

phpbrew install x.y.z
Возвращаясь к моей проблеме №1 - отключение расширения gettext, я делал установку следующим образом
phpbrew install x.y.z -gettext

Переключение между версиями php

phpbrew switch 5.4.18

Возможные проблемы при установке

У меня при сборке появилась следующая проблема
checking for BZip2 support... yes
checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution
*** There was an error while trying to configure php. Check the custom/suphp/configure.php5 file
Суть проблемы в том, что пакет BZip2 установлен, а вот dev версия пакета - нет.
Решается следующим образом:
yum install bzip2-devel
apt-get install libbz2-dev
Аналогичная проблема была с readline
Более универсальное решение в моем случае
apt-cache search libreadline
и ставим нужный пакет.

Установка расширение php

phpbrew ext install xdebug
Не забудьте предварительно переключится на нужную версию php

You can also install extension via PECL and enable it manually:
pecl install mongo
phpbrew ext enable mongo
В моем случае при установке расширения oci8 возникли следующие проблемы:

  1. Нужно было отследить совместимость версии php и pecl расширения и ставить только нужную версию
  2. phpbrew не хотел включать (enable) расширение. Решилось путем создания oci8.ini руками и написание внутри "extension=oci8.so"
Установка php-7.0 zts:
> phpbrew install --name php-7.0-zts 7.0 +default -gettext +apxs2=/usr/bin/apxs2 +openssl +mcrypt +zts

понедельник, 30 мая 2016 г.

Howto disable hard terminal CTRL+ALT+Fn (for Intelli Ctrl+Alt+F7)

Кто работал с продуктами Intelli знает, что там задействованы такие сочетания клавиш Ctrl+Alt+Fn

Но у Linux системах именно это сочетание клавиш отводится под hard-терминалы.

Чтобы их отключить нужно добавить следующие строчки в /etc/X11/xorg.conf

Section "ServerFlags"
    Option "DontVTSwitch" "on"
Section "InputClass"
    Identifier "keyboard defaults"
    MatchIsKeyboard "on"
    Option "XKbOptions" "srvrkeys:none"

пятница, 5 февраля 2016 г.

How To Use SSHFS to Mount Remote File Systems Over SSH - Как замаунтить ssh диск

1. Make authorized_keys with remote server

  • for generate key use ssh-keygen
  • for change password use ssh-keygen -p
It's made such files:
~/.ssh/id_rsa.pub - opened key
~/.ssh/id_rsa - private key
After that copy key into remote server: ssh-copy-id user@server

2. Installing SSHFS

sudo apt-get install sshfs

3. Mounting the Remote File System

sudo mkdir /mnt/droplet <--replace code="" droplet="" prefer="" whatever="" you="">
sudo sshfs root@xxx.xxx.xxx.xxx:/ /mnt/drople
sudo sshfs -o IdentityFile=~/.ssh/id_rsa root@xxx.xxx.xxx.xxx:/ /mnt/droplet

4. For permanent connection add following record to /etc/fstab

USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY  /LOCAL/MOUNTPOINT  fuse.sshfs _netdev,user,idmap=user,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N,gid=USER_GID_N 0 0

четверг, 4 февраля 2016 г.

How to find the mysql data directory from command line

You can issue the following query from the command line:

mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name LIKE "%dir"'

Output (on Linux):

| Variable_name             | Value                      |
| basedir                   | /usr                       |
| character_sets_dir        | /usr/share/mysql/charsets/ |
| datadir                   | /var/lib/mysql/            |
| innodb_data_home_dir      |                            |
| innodb_log_group_home_dir | ./                         |
| lc_messages_dir           | /usr/share/mysql/          |
| plugin_dir                | /usr/lib/mysql/plugin/     |
| slave_load_tmpdir         | /tmp                       |
| tmpdir                    | /tmp                       |

Or if you want only the data dir use:

mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name = "datadir"'


вторник, 2 февраля 2016 г.

Sublime doesn't keep documents between session

From time to time I've got the same problem, when install new instance of Sublime on a new environment: I had run it as sudo on first time and after that Sublime forgot opened document. It's happened 'couse the config files for Sublime are created with root permissions. For fix it just run:
sudo chown -R <user>:<group> ~/.config/sublime-text-X

четверг, 3 сентября 2015 г.

Select input language by Caps Lock in Mac OS X

I found a new way to bind input language (input source) switch to the Caps Lock key in Mac OS X. The main advantage of this method is absense of lag, so input source changes almost instantly when you hit the Caps Lock key. You will admire this if you’re a fast typer.
The logic is simple: first, I map the F19 key to input source selection. Then, using Seil (previously called PCKeyboardHack), I remap the Caps Lock key to F19. This works regardless of your keyboard having the F19 key. You can also keep the default combination (Cmd+Space) if you wish.
  1. You will not be able to use the Caps Lock mode anymore.
  2. The green light on the actual key will not change as you change the input source.
  3. You will have to remove any software incompatible with Seil.
If this method doesn’t work for you, you will be able to revert all changes at any point.

Step-by-step guide

  1. Download, install and launch Seil. By default it goes to “Applications” folder. You’re too lazy to look for it there, find it using Spotlight.
  2. In Seil, tick “Change Caps Lock” and in the “keycode” column change 51 to 80:
    Change Caps Lock Keycode
  3. Open System Preferences, go to “Keyboard” → click the “Modifier Keys…” button and for the Caps Lock key choose “No action”.
    Caps Lock No Action
  4. Switch to “Keyboard Shortcuts” tab in the same window, select “Input Sources” and find “Select the previous input source” (or “next source”, does not matter). Double click the shortcut to change it. Hit Caps Lock. Here is how it should look like eventually:
    Bind Change Layout To F19

For advanced users

You may use any other key in the range F13—F18 instead of F19. To do this, in the second step substitute 80 with a different keycode according to the following table:

Релевантные посты...

Related Posts with Thumbnails