http://mtaalamu.ru ru (http://mtaalamu.ru) (http://mtaalamu.ru) http://mtaalamu.ru http://mtaalamu.ru SugarCRM 6: php баги и centos /blog/2275.html /blog/2275.html Sergei_T
[notice] child pid 19793 exit signal Bus error (7)


Процесс php падает при открытии некоторых страниц. Обновляем php до версии 5.3.10.

Сначала удаляем старый php:

yum remove *php


Подключаем репозитарий remi и epel:

wget http://dl.fedoraproject.org/pub/epel/beta/6/i386/epel-release-6-5.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm


cd /etc/yum.repos.d
wget http://rpms.famillecollet.com/enterprise/remi.repo


Устанавливаем php:

yum --enablerepo=remi install php php-mysql php-ldap php-gd php-mbstring


Естественно рестартуем апач.

Больше данный глюк не наблюдался. Плохо правят баги в CentOS… плохо.]]>
Tue, 27 Mar 2012 16:44:48 +0400 SugarCRM PHP
Joomla: файловый менеджер eXtplorer /blog/admining/1838.html /blog/admining/1838.html Sergei_T
extensions.joomla.org/extensions/core-enhancements/file-management/2630



Ну и разумеется, eXtplorer может использоваться везде, где есть php:

extplorer.sourceforge.net/]]>
Tue, 24 May 2011 18:44:40 +0400 joomla PHP web
Плагин для WordPress "SE Referer" /blog/1791.html /blog/1791.html S1eng Wordpress я познакомился примерно год назад и еще тогда осознал весь огромный потенциал этой системы выраженный в гибкости и расширяемости движка. Но со временем росли и мои запросы к нему, и возникло желание сделать что-то для поисковой оптимизации своих блогов.

Наверное многие сейчас обзовут меня СЕОшником и начнут кидаться какаш нехорошими словами, но ведь когда вы что либо пишите у себя в блоге вы не думаете «ах, как бы сделать так чтобы как можно меньше народу прочло мои посты», нет, нам всем нужны пользователи, читатели, комментаторы. Для этого и был создан данный плагин, суть его в увеличении рейтинга сайта в выдаче поисковиков (пока Яндекс и Google) за счет низкочастотных запросов, также это интересный блок на вашем сайте из которого вы всегда узнаете чего же от вас хотят ваши посетители, да и сами посетители увидят ссылки на актуальные статьи из вашего блога.

Плагин будет выглядеть примерно так
SE Referer
Алгоритм виджета построен таким образом, что вы никогда не увидите повторов. Установка плагина происходит в «два щелчка» вам нужно всего лишь поставить плагин и в настройка темы выбрать нужный виджет и установить его там, где вы бы хотели видеть блок ссылок.]]>
Sun, 01 May 2011 05:45:23 +0400 wordpress web PHP SEO
LiveStreet: переход в черновики после удаления черновика /blog/admining/1684.html /blog/admining/1684.html Sergei_T /classes/actions/ActionTopic.class.php, в нем в событии protected function EventDelete() ищем:

Router::Location($oTopic->getBlog()->getUrlFull());


заменяем на:

if ($oTopic->getPublishDraft()) {
                Router::Location($oTopic->getBlog()->getUrlFull());
} else {
                Router::Location(Router::GetPath('topic').'saved');
}


т.е. если удаленный топик был черновиком, возвращаемся на страницу черновиков.]]>
Sat, 19 Mar 2011 10:40:31 +0300 LiveStreet PHP
WordPress: минималистичный lightbox плагин, работающий с NextGEN Gallery /blog/1650.html /blog/1650.html Sergei_T


Для поддержки NextGEN Gallery, добавляем в настройках галереи:

class="fancybox" rel="%GALLERY_NAME%"


]]>
Wed, 02 Mar 2011 15:23:33 +0300 WordPress PHP
WordPress: загружаем произвольные типы файлов /blog/1648.html /blog/1648.html Sergei_T functions.php используемой темы, добавив:

add_filter('upload_mimes', 'custom_upload_mimes');
function custom_upload_mimes ( $existing_mimes=array() ) {
    $existing_mimes['torrent'] = 'application/x-bittorrent';

    return $existing_mimes;
}


Может быть несколько строк вида $existing_mimes['расширение файла'] = 'mime-тип', в моем случае это torrent файлы.]]>
Wed, 02 Mar 2011 14:38:57 +0300 WordPress PHP
CentOS 5.5: Установка веб сервера Cherokee + PHP5.3 + MySQL /blog/1471.html /blog/1471.html Mihael Sun, 19 Dec 2010 17:37:31 +0300 CentOS PHP MySQL Cherokee FreeBSD: установка memcached /blog/1429.html /blog/1429.html Sergei_T
Модуль для php скачиваем здесь:]]>
Tue, 07 Dec 2010 22:15:33 +0300 FreeBSD PHP memcache
FreeBSD: сборка mysqli для php 5.3.3 /blog/1428.html /blog/1428.html Sergei_T
In file included from /root/php/php-5.3.3/ext/mysqli/php_mysqli_structs.h:57,
from /root/php/php-5.3.3/ext/mysqli/mysqli.c:33:
/usr/local/mysql/include/mysql/my_global.h:1036: error: duplicate 'unsigned'
/usr/local/mysql/include/mysql/my_global.h:1036: warning: useless type name in empty declaration
gmake: *** [mysqli.lo] Error 1
]]>
Tue, 07 Dec 2010 18:35:16 +0300 FreeBSD PHP
TikiWiki: LDAP авторизация на сервере Zimbra /blog/admining/1168.html /blog/admining/1168.html Sergei_T
В настройках авторизации TikiWiki (я использую 5ю версию) выбираем пункт «Tiki and LDAP»:

]]>
Thu, 26 Aug 2010 14:03:33 +0400 Zimbra TikiWiki LDAP PHP
Zimbra: проверка авторизации пользователей в LDAP с помощью PHP /blog/admining/1167.html /blog/admining/1167.html Sergei_T Thu, 26 Aug 2010 14:02:07 +0400 PHP LDAP Zimbra Видеотелефоны Grandstream GXV3000. Часть 1 - Показываем погоду на экране. /blog/516.html /blog/516.html Mihael Про саму спецификацию телефонов можете почитать на ссылкам выше. Телефоны телефонами, но нас интересует его функционал. Из спецификации, да и настроек выходит что:
1. Он умеет/должен показывать на экране погоду;
2. Он умеет/должен показывать на экране RSS новости;
3. Он умеет/должен загружать адресную книгу.

НО! Я нигде не нашёл информации о формате файлов по первому и второму пунктам. Да, да, даже RSS у него какой-то свой, узкоглазый наверно . Поэтому надеюсь кому-нибудь моя статья ещё пригодится.
]]>
Tue, 02 Feb 2010 11:28:12 +0300 программирование PHP видеотелефоны китайцы
Плагин печати для WordPress - WP-Print /blog/admining/444.html /blog/admining/444.html Sergei_T


wordpress.org/extend/plugins/wp-print

Руссификацию можно вытащить из предыдущей версии Lecactus'а (я стараюсь использовать плагины оригинальные, используя лишь файлы руссификации).]]>
Mon, 11 Jan 2010 16:51:58 +0300 WordPress web PHP
PHP: форматируем код /blog/388.html /blog/388.html Sergei_T
shadsplace.org/beautify-php
shadsplace.org/beautify-php/beautify.php.gz

До:

После:


Запуск:

beautify.php bad.php > good.php
]]>
Sat, 09 Jan 2010 12:35:13 +0300 PHP программирование консоль
VertrigoServ - Бесплатный web-комплекс для Win /blog/259.html /blog/259.html kuznecello для платформы Windows. C помощью удобного инсталлятора «всё-в-одном» все компоненты устанавливаются в одну директорию и работают сразу же после того как установка закончена. Деинсталлятор позволяет удобно удалять VertigoServ с жесткого диска. Всё это спроектировано так, чтобы занимать как можно меньше места и быть максимально гибким, поэтому отлично подходит для распространения по сети Интернет. VertigoServ хорош как для начинающих так и для более опытных пользователей.

]]>
Mon, 07 Dec 2009 16:56:14 +0300 Apache PHP MySQL
Массовое переименование таблиц базы данных MySQL /blog/164.html /blog/164.html Sergei_T
<?php  
$db_server = "localhost";    // hostname MySQL server  
$db_username = "username";   // username MySQL server  
$db_password = "password";   // password MySQL server  
$db_name = "database";       // database name  
  
$pattern = "pattern_";          // search string  
$new_pattern = "new_pattern_";  // replacement string,   
                                // can be empty  
 
// login to MySQL server  
$link = mysql_connect( $db_server, $db_username, $db_password);  
  
if (!$link)  
{  
  die('Could not connect: ' . mysql_error());  
}  
  
// list all tables in the database containing the search pattern  
$sql = "SHOW TABLES FROM `" . $db_name . "`";  
$sql .= " LIKE '%" . $pattern . "%'";  
  
$result = mysql_query ( $sql, $link );  
if (!$result)  
{  
  die("Invalid query: " . mysql_error( $link ));  
}  
  
$renamed = 0;  
$failed = 0;  
  
while ( $row = mysql_fetch_array ($result) )  
{  
  // rename every table by replacing the search pattern   
  // with a new pattern  
  $table_name = $row[0];  
  $new_table_name = str_replace ( $pattern, $new_pattern, $table_name);  
  
  $sql = "RENAME TABLE `" . $db_name . "`.`" . $table_name . "`";  
  $sql .= " TO `" . $db_name . "`.`" . $new_table_name . "`";  
  
  $result_rename = mysql_query ( $sql, $link );  
  if ($result_rename)  
  {  
    echo "Table `" . $table_name . "` renamed to :`";  
    echo $new_table_name . "`.\n";  
    $renamed++;  
  }  
  else  
  {  
    // notify when the renaming failed and show reason why  
    echo "Renaming of table `" . $table_name . "` has failed: ";  
    echo mysql_error( $link ) . "\n";  
    $failed++;  
  }  
}  
  
echo $renamed . " tables were renamed, " . $failed . " failed.\n";  
  
// close connection to MySQL server  
mysql_close( $link );  
?>


Нашел здесь.]]>
Thu, 12 Nov 2009 17:52:33 +0300 MySQL PHP SQL
Укрепляем капчу LiveStreet /blog/79.html /blog/79.html Sergei_T
Поменял CAPTCHA на более сложную, отличное описание здесь:
http://livestreet.ru/blog/tips_and_tricks/2414.html

Капча выглядит так:

]]>
Mon, 07 Sep 2009 14:37:35 +0400 администрирование безопасность PHP
Воюем с ModSecurity 2 /blog/63.html /blog/63.html Sergei_T ModSecurity – модуль Apache, добавляющий возможности обнаружения и предотвращения вторжения на Web сервер. Модуль подобен IDS системе, которую вы бы использовали для анализа сетевого трафика, за исключением того, что mod_security работает только на HTTP уровне. Модуль позволяет вам анализировать действия, обычные с точки зрения HTTP протокола, но трудные для анализа классическими IDS системами.

Модуль имеет довольно-таки суровые правила и зачастую вполне безобидные скрипты после включения этого модуля перестают работать.

Так произошло, например, с движком LiveStreet. Перестала работать отправка комментариев, опубликование топиков и некоторый интерактив.

Так как у меня есть доступ к редактированию настроек виртуального хоста, я добавил туда следующие строчки:

<IfModule mod_security2.c>
    SecAuditLog /var/log/apache2/mod-security/your-site-audit.log

    # LiveStreet comments troubles
    SecRuleRemoveById 960010
    # LiveStreet topics troubles
    SecRuleRemoveById 950911
</IfModule>


Опция SecRuleRemoveById добавляет исключение, id события можно найти в файле /var/log/apache2/mod-security/your-site-audit.log — какой запрос и почему был заблокирован, например:

Message: Access denied with code 501 (phase 2). Match of "rx (?:^(?:application\\/x-www-form-urlencoded(?:;(?:\\s?charset\\s?=\\s?[\\w\\d\\-]{1,18})?)??$|multipart/form-data<img src="/images/smilies/wink.gif" alt="Wink" />|text/xml)" against "REQUEST_HEADERS:Content-Type" required. [id "960010"] [msg "Request content type is not allowed by policy"] [severity "WARNING"]
]]>
Thu, 03 Sep 2009 14:00:04 +0400 web администрирование безопасность PHP
Защищаем блог на WordPress от атак /blog/59.html /blog/59.html Sergei_T
WPIDS — плагин для WordPress, позволяющий использовать систему обнаружения атак PHPIDS. После установки необходимо обязательно обновить файл правил PHPIDS.]]>
Wed, 02 Sep 2009 20:57:44 +0400 PHP WordPress администрирование программирование безопасность