Как обновить PHP на CentOS 5 (6) до PHP 5.4 или PHP 5.5

  • Linux
Метод только, что проверил на Centos 5.11, обновил PHP 5.11 до PHP 5.5.
Смотрим какие пакеты PHP установлены:
# yum list installed | grep php

Если что-то есть, удаляем:
# yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64

Добавьте PHP 5.5 пакеты в yum если у вас CentOS 5.x
# rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm

Для CentOS 6.x:
# rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

Теперь можно посмотреть какие пакеты доступны (5.4: php54w or 5.5: php55w):
# yum list available | grep php

Если нужна определенная версия:
# yum list available | grep php54

Ставим пакеты PHP 5.4 или 5.5, для примера я ставил php55:
# yum install php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64 php55w-ldap.x86_64 php55w-mbstring.x86_64 php55w-mcrypt.x86_64 php55w-mysql.x86_64 php55w-pdo.x86_64

Теперь можно посмотреть, какая версия установлена
# php -v
PHP 5.5.38 (cli) (built: Jul 21 2016 13:42:32)
Copyright © 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright © 1998-2015 Zend Technologies

Перезапустите сервис httpd:
# service httpd restart

Велосипед своими руками или боремся с зависающими точками AP

Столкнулся замечательными Wi-fi точками от Ubiquiti. Все хорошо, но иногда они почему-то подвисают и перестают принимать wi-fi клиентов. При этом ethernet продолжает работать, а в dmesg выдается сообщение «wifi0: transmit timed out». Лечится только перезагрузкой точки. Проблема известная, разработчики не теряют надежды ее победить, но пока вот так…
Читать дальше →

Joomla - не так все хорошо.

Недавно столкнулся с использованием сего чуда. Я всегда люблю узнать что-то новое, потому с радостью окунулся. Окунулся не то слово.

Статью по самой джумле я может быть напишу позже. «Порадовал» меня вот какой случай…

Если кто не знает, сама джумла — это движок для сайтов, на который можно подключить все что угодно. От обилия шаблонов, свистелок и перделок в глазах рябит.
Первым делом я (естественно) искал шаблон. Скачал несколько вариантов и задействовал который более понравился. Далее (как водится) я его допиливал… Тут обычная рутина. Допиливать приходится все бесплатное.
И тут я почувствовал неладное. На сайте вылезли скрытые блоки с рекламой. Для не знающих: Тема в том, что проблем нет, пока вы не попытаетесь «засветить» свой сайт в поисковых системах. А те, не смотря на указанные вами дескрипторы и метатеги, могут показать любую информацию на странице, в том числе и информацию, содержащуюся в скрытых блоках.
Конечно же инъекцию я нашел и убил сразу. Потом я нашел сайт, откуда оно взялось и решил восстановить справедливость — написать хотя бы на тематическом русском форуме о нехорошей деятельности.

Читать дальше →

Индикация состояния абонента в очереди на телефоне с BLF кнопками

imageСегодня задача немного посложнее.
Клиенту нужно, чтобы нажатием на кнопку быстрого набора можно было входить/выходить в очередь. При этом если абонент в очереди, то кнопка горит зеленым, если нет, то моргает красным. Сделать такое можно если IP само собой телефон поддерживает функцию BLF. Для работы функции на кнопке нужно будет прописать номер вида *12111*222, где 111 номер очереди, а 222 номер абонента. Тестировалось это на Grandstream GXP серии, самых разных. Сервером выступает Linux c Elastix, ну и можно просто Asterisk 1.6+.
Одним из условий является отсутствие привязки к номеру абонента. Номера очередей фиксированы, а абоненты могут быть любые. Для мониторинга состояния в Asterisk нужен HINT и если его нет, мы его будем создавать.
Читать дальше →

Оригинация звонка из PHP в Asterisk

Вариант 1
<?  
$strHost="127.0.0.1";  
$strUser="admin";  
$strSecret="****";  
$strChannel="Local/".$_GET["to"]."@from-provider";  
$strWaitTime="10";  
$strCallerId=$_GET["from"];  
$strReceiver=$_GET["from"];  
$strContext="from-provider";  
  
  $oSocket = @fsockopen($strHost, 5038, $errnum, $errdesc)  
or die("Connection to host failed");  
        fputs($oSocket, "Action: login\r\n");  
        fputs($oSocket, "Events: off\r\n");  
        fputs($oSocket, "Username: $strUser\r\n");  
        fputs($oSocket, "Secret: $strSecret\r\n\r\n");  
        fputs($oSocket, "Action: originate\r\n");  
        fputs($oSocket, "Channel: $strChannel\r\n");  
        fputs($oSocket, "WaitTime: $strWaitTime\r\n");  
        fputs($oSocket, "CallerID: $strCallerId\r\n");  
        fputs($oSocket, "Exten: $strReceiver\r\n");  
        fputs($oSocket, "Context: $strContext\r\n");  
        fputs($oSocket, "Priority: 1\r\n\r\n");  
        fputs($oSocket, "Action: Logoff\r\n\r\n");  
  while (!feof($oSocket)) {  
    $wrets .= fread($oSocket, 8192);  
  }  
 fclose($oSocket);  
  if (stripos($wrets, 'Originate successfully queued')) {  
    echo "Call completed ";  
  } else {  
    echo "No accept call ";  
  }  
?>


Вариант 2

if ( ! empty( $num ) )
{
        echo "Dialing $num\r\n";

        $timeout = 10;
        $asterisk_ip = "192.168.0.100";

        $socket = fsockopen($asterisk_ip,"5038", $errno, $errstr, $timeout);
        fputs($socket, "Action: Login\r\n");
        fputs($socket, "UserName: manager\r\n");
        fputs($socket, "Secret: gandalf\r\n\r\n");

        $wrets=fgets($socket,128);

        echo $wrets;

        fputs($socket, "Action: Originate\r\n" );
        fputs($socket, "Channel: SIP/$ext\r\n" );
        fputs($socket, "Exten: 9$num\r\n" );
        fputs($socket, "Context: outbound-dialing\r\n" );
        fputs($socket, "Priority: 1\r\n" );
        fputs($socket, "Async: yes\r\n\r\n" );

        $wrets=fgets($socket,128);
        echo $wrets;
}
else
{
        echo "Unable to determine number from (" . $_REQUEST[['n'] . ")\r\n";
}


xtelekom.ru — офисная ip телефония

Настройка рассылки SMS сообщений через gsm модем с linux сервера [2]

  • Linux
Топик в продолжение темы, где я обещал выложить доработанный скрипт. Последняя версия может рассылать пользователям или группе пользователей смс сообщения с использованием кириллицы и может вставлять заготовленный текст в поле сообщения. Удобно для однообразных рассылок, в которых меняется несколько символов.

Читать дальше →

[PHP] Поиск по LDAP в браузере

  • LDAP
Еще один скрипт поиска по LDAP с любого компьютера в сети. Скрипт написан на PHP. Не стал прикручивать в выдаче результата красивое оформление, если потребуется, его можно взять из доработанной версии этого же скрипта, который я выкладывал вчера.
А этот скрипт в браузере выглядит примерно так:
Читать дальше →

Поиск по LDAP в браузере с использованием jQuery

  • LDAP
Потребовался мне быстрый поиск по LDAP с любого компьютера в распределенной сети c возможностью выбора нескольких адресатов для отсылки письма. В итоге написал скрипт с использованием jQuery, который позволяет делать выборки из базы без перезагрузки страницы, манипулировать почтовыми адресами для отсылки. Выборку делает php программа, которая возвращает выборку данных в основной html документ. В итоге в браузере выглядит примерно так:
ldap search
Читать дальше →

Настройка рассылки SMS сообщений через gsm модем с linux сервера.

  • Linux
Потребовалось мне сделать рассылку СМС сообщений с компьютера, желательно с возможностью отправки с нескольких компьютеров по одной симке. Попробовал вариант с программой краснояйцевого оператора, все было как надо, но она периодически требовала перерегистрацию, поэтому решил сделать свою программу. Хорошо что под рукой был свободный модем Siemens MC 35, сервер с Ubuntu 10.04, симка. Так же возможно использования usb модемов, старых телефонов или еще каких экзотических девайсов.

Читать дальше →