PEAR Windows и php_suffix

24 Ноябрь 2014 Нет комментариев

PEAR + windows и ошибка в php_suffix!

Если вам приходилось устанавливать PEAR на Windows, то вы можете встретить вот такую ошибку при компиляции чего либо интересного для вас: "config variable php_suffix does not match" Проблема заключается в том, что нужно прописать суффикс "exe" для исполняемого файла php.exe В интернет есть баг репорт с такой же проблемой (вот тут: http: / /pear.php.net/bugs/bug.php?id=17016), но то ли я не правильно понимаю смысл перевода, то ли еще чего то, но там выносятся предложения сделать вот так pecl config-set php_suffix .exe и при этом мы увидим config-set succeeded, хотя это совсем не так, ошибка в том, что надо это делать не от pecl, а от pear, а именно pear config-set php_suffix .exe и тогда конфиг поправится, можно это посмотреть через pear config-show Мне такой вариант помог, удачи.
Categories: PHP, Windows Tags: , ,

CentOS 7 + apache + php не записывает в файл/папку

23 Ноябрь 2014 Нет комментариев

CentOS 7 + apache + php не записывает в файл/папку, не работает запись?!

Столкнулся с проблемой, php скрипт не мог выполнить запись в файл или директорию, при этом права на папку стояли и 0777 и 0755, на файл 644 и много что другого, даже овнер и группа были верные, проблема закралась в SElinux, если не знаете как это работает или настроено не совсем верно - лучший вариант просто отключить, делается это вот так: 1. Временно отключить: setenforce 0 2. Отключить насовсем: в файле /etc/selinux/config, изменить на вот так SELINUX=disabled SELINUXTYPE=targeted SETLOCALDEFS=0 После этого запись заработала. Удачи.

cURL + HTTPS и вопрос "не работает" ?

14 Ноябрь 2014 Нет комментариев

Не работает cURL + https !

Столкнулся с такой проблемой на одном из хостингов. Причем ответов по такой проблеме в интернете куча. На одном из хостингов скрипт работал, на другом тот же самый скрипт работать отказывался. Было найдено много ответов в интернете которые кому то помогали, кому то нет (так же как и мне). Проблема оказалась в версии 7.34 curl, а именно если явно не указывать сертификаты которые поддерживает сервер, то можно получить "банан" вместо рабочего скрипта, магия заключается вот в такой опции: curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'ECDHE-RSA-AES128-GCM-SHA256'); Такого решения мне найти не удалось, помог саппорт хостинга, за что ему спасибо. Пробуйте, возможно это еще одно решение которое поможем вам.

PHP конвертация времени из BST в GMT

25 Сентябрь 2013 Нет комментариев

Как переконвертировать на PHP время из BST в GMT?

Исходные данные: время текстовой строкой в формате 00:00 BST Выходные данные: 00:00 К примеру, имеем данные 16:00 BST, надо получить 15:00. Натравливаем вот такой кусочек кода: на выходе получаем 15:00, удобно и просто. Обратите внимание, что если поставить 16:00 GMT то на выходе получим 16:00 Удачи.

Перекодировка cp1251 в UTF8 на PHP

Перекодировка cp1251 в UTF8 на PHP

Сегодня столкнулся с проблемой перекодировки русского текста из cp1251 (windows-1251) в UTF8. Решение нашел быстро. Как всегда нельзя переоценить роль Google;) Ранее пользовался iconv(“CP1251″, “UTF-8″, $text_for_convert), но, как известно iconv даёт большую нагрузку на сервер и работает медленнее чем представленная ниже функция. (далее...)

Smarty с JavaScript и CSS

4 Декабрь 2012 Нет комментариев

Как подружить Smarty с JavaScript и CSS ?

Ответ прост как 2+2... Для того чтобы smarty "скушал" JavaScript нужно ставить теги {literal} между javascript кодом. {literal} это открывающий тег, а {/literal} закрывающий. Между этими тегами smarty не будет выполнять свой код, а соответственно и не будет конфликтов.  CSS код тоже нужно экранировать этими тегами.

Формирования справочника дней рождений при помощи Active Directory

21 Сентябрь 2012 2 comments

Как сформировать справочник сотрудников по дням рождений используя Active Directory?

Допустим у нас есть корпоративный портал и вы хотите на нем показывать у кого и когда дни рождения, руками это делать муторно и долго, если у вас 100+ сотрудников. Предложу один из вариантов решения. В AD, когда заводиться новый сотрудник (пользователь) в поле "Описание" я добавляю его дату рождения в формате дд-мм-гггг После этого, состряпываем небольшой скриптик который цепляемся к AD через LDAP и формирует список дней рождений. (далее...)

Выдача Last-Modified, а также работа с If-Modified-Since в PHP-скриптах

3 Август 2012 1 комментарий

Выдача Last-Modified, а также работа с If-Modified-Since в PHP-скриптах

<?php // Определяем дату модификации скрипта и выдаем Last-Modified $last_modified = filemtime($SCRIPT_FILENAME); header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $last_modified) . ' GMT'); // Пытаемся получить содержимое If-Modified-Since foreach($_SERVER as $name => $value) { if($name == 'HTTP_IF_MODIFIED_SINCE') $modified_since = $value; } // Пытаемся преобразовать значение в Unix time if (isset($modified_since)) { $modified_since = strtotime(preg_replace('/;.*$/', '', $modified_since)); } else { $modified_since = 0; } // Сравниваем даты и выдаем заголовок, если требуется if ($last_modified <= $modified_since) { header('HTTP/1.1 304 Not Modified'); exit(); } ?> (далее...)
Categories: PHP, SEO Tags: , , ,

PHP и ЧПУ, что это и с чем его "едят"?

PHP и ЧПУ, что это и как с ними работать?

На днях нужно было быстренько состряпать простое подобие ЧПУ, для 4-6 страниц. Смысл заключался в том, что есть header (картинка с меню) и футер (картинка), а в центре должен был меняться текст. Т.к. страниц было всего от 4 до 6 то речи о CMS в принципе быть и не могло (не тот масштаб). Было решено сделать до боле глупое решение. (на нем хорошо просматривается принцип работы ЧПУ). Есть файл .htaccess со следующим содержимым:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php?$1 [L] (далее...)
Categories: PHP Tags: , , , ,

MySQL max_allowed_packet меняем максимальный размер пакета

13 Февраль 2012 6 comments
Если при добавлении записей в базу данных MySQL возникает проблема связанная с max_allowed_packet, то скорее всего тот блок данных превышает максимальный допустимый размер. Есть два способа изменить это значение:

1. Меняем max_allowed_packet в my.cnf

обычно в /etv/my.cnf добавляем строчку
max_allowed_packet = 16M

 

2. Запуск MySQL с ключом --max_allowed_packet

Это до первой перезагрузки
mysqld --max_allowed_packet=16M
Categories: Linux, PHP, SQL, Windows Tags: ,