Показаны сообщения с ярлыком php. Показать все сообщения
Показаны сообщения с ярлыком php. Показать все сообщения

среда, 25 июня 2014 г.

MongoDB установка centos

Что бы установить MongoDB на centos необходимо:


Что бы узнать версию ОС нужно выполнить $ uname -a

$mcedit /etc/yum.repos.d/mongodb.repo
[mongodb]name=MongoDB Repositorybaseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/gpgcheck=0enabled=1

$sudo yum install mongodb-org
$sudo service mongod start

Затем устанавливаем драйвер для PHP (два варианта):
1. $yum install gcc php-pear -y
or
2. $
  1. export PHP_AUTOCONF=/usr/bin/autoconf
  2. export PHP_AUTOHEADER=/usr/bin/autoheader
  3. wget http://pecl.php.net/get/mongo-1.5.4.tgz
  4. tar -xzf mongo-1.5.4.tgz
  5. cd mongo-1.5.4
  6. phpize
  7. ./configure
  8. make && make install
  9. echo "extension=mongo.so" > mongo.ini
  10. /etc/init.d/httpd restart

вторник, 13 мая 2014 г.

PHP ini error log

Способ 1 — изменить php.ini:
log_errors = On
error_log = /var/log/php_errors.log

Способ 2 — добавить в .htaccess:
php_value log_errors "On"
php_value error_log /var/log/php_errors.log

Способ 3 — добавить в самое начало php скрипта:
ini_set('log_errors', 'On');
ini_set('error_log', '/var/log/php_errors.log');

понедельник, 30 декабря 2013 г.

Курсы веб программирования СПб

Курсы интернет разработок могут быть востребованы:

  • Новичкам – слушателям, решившим сменить свою профессию на  вэб мастеров и начать обучаться с нуля.
  • Студентам – обучающимся программированию в университете, и  желающим получить практический опыт, а не теоретические курсы прошлых лет по устаревшим технологиям
  • Вэб программистам – понявшим необходимость систематизировать знания, полученные самообучением или на месте работы
  • Фрилансерам – указав, в резюме, о прохождении курса у нас, вы повышаете доверие потенциальных заказчиков к вам

пятница, 25 октября 2013 г.

PHP Unit Test быстрый старт

Возникла необходимость быстро ввести программистов в сферу написания авто тестов. В презентации отразил основные понятия как тестирования в целом, так и тонкости именно phpUnit-test.

воскресенье, 29 сентября 2013 г.

Как определить из под какого пользователя запущен Apache

Как узнать пользователя, от имени которого работает php (запущен Apache)

ps -ef | fgrep apache

или посмотреть в /etc/httpd/httpd.conf

Смена владельца папки или файла:
chown ЮЗЕР:ГРУППА путь к папке
Права на папку:
ls -l
ls -n 

четверг, 15 августа 2013 г.

QRcode PHP library generator


  1. Генерируем QR код на PHP - php QRcode generator library
  2. Генерируем QR code с помощью Chart - Google API Google Chart Tools
  3. QR code generator class Скачать - генерирует QR коды закодированной информации: закладка, текст, СМС сообщение, телефонный номер, контактная информация, почтовое письмо, гео-локация, Wi-Fi доступ, мета данные i-appli или abitrary контент.
  4. PHP QR Code library for generating QR Code, 2-dimensional barcode. Based on libqrencode C library phpqrcode
  5. WordPress plugins 
  6. PHP Library  to create QR Code for CodeIgniter Framework
  7. cakePHP Helper
  8. И другие разные репозитории github и bitbucket

четверг, 8 августа 2013 г.

Yii GeoIP

Установленные Perl-модули:
  • Geo::IPfree (1.110450) 
  • Geography::Countries (2009041301)
yii-geoip - Yii Module to allow for easy usage of the MaxMind Free file dbs.


на простом PHP с ООП:
  1. Гео-модуль  (КЛАДР+ФИАС)
  2. PHP API for GeoIP2 webservice client and database reader MaxMind
  3. MaxMind GeoIP2 Web Services
  4. Поиск географического местонахождения IP-адреса, выделенного RIPE локальным интернет-реестрам (LIR-ам) для Российской Федерации и Украины
  5. PHP GeoIP extension
  6. Geocoder PHP 

Другие варианты:
  1. ngx_geoip
Пример: Ваш GeoIP

суббота, 20 июля 2013 г.

Yii insert on duplicate key update

В Yii столкнулся с тем что понадобилось добавить в ActiveRecord, метод insertUpdate - генерирующий запрос INSERT INTO .... ON DUPLICATE KEY UPDATE к БД.

пятница, 21 июня 2013 г.

Yii auth extensions

Сравнение расширений для авторизации пользователей на Yii 




rights 


yii-user-management

srbac 




Голосов : +213 / -15
Votes: +188 / -2
Голосов : +91 / -51
Votes: +64 / -8
Votes: +47 / -6
Войти с Имя пользователя или e-mail
+

логин


Регистрация пользователя
+

+


Активация счета (проверка электронной почты, администратор или нет)
+

активация по почте


Восстановление пароля (отправить ключ восстановления электронной почты пользователя)
+

+


Интернационализации (i18n)

+
+
* Базовый язык -Английский.
Неполный переводы на русский


Пользователь Аватар загрузки


+


Дружба системы


+


Управление профиля поля
+

управление полями анкеты


Страница профиля пользователя
+

только в админке


Управление пользователями
+

+
+

Управление правами

+
+ (есть даже привязка к поатным пакетам доступов)


Авторизация через социальные сети


+








Особенности


Ставиться отдельными модулями в папку /protected/modules что не удобно для обновления, разделения и не сделать этот проект как Git Submodules.
Поддерживается одним разработчиком, который отвечает только на некоторые тикеты.


Впечатление


Долго устанавливался, конфигурировался. Так и не заработала регистрация. 









Это расширение использует встроенную базу данных в Yii Authorization Manager (CDbAuthManager), чтобы обеспечить веб-интерфейс для расширенного управления доступом.
What it is not:

* A complex RBAC like srbac.
модуль, который добавляет графический веб-интерфейс для управления RBAC Yii использует CDbAuthManager поэтому она нуждается в базу данных


понедельник, 4 февраля 2013 г.

Yii. Аутентификация и авторизация с описанием ролей

Yii. Authentication and Authorization with the description of roles

После того как я разнес пользовательскую часть сайта и административную панель, я задумался о разделении доступа пользователям по ролям их учетных записей.

Разграничение в yii можно реализовать двумя способами:

  1. используя фильтр
  2. на основе RBAC.


Yii позволяет использовать два тип хранилища для ролей и операций:
  1. PHP файл (CPhpAuthManager)
  2. базу данных (CDbAuthManager).



воскресенье, 3 февраля 2013 г.

Способы разделения frontend и backend частей в Yii (админка)

Organize directories for applications with front-end and back-end - статья будет полезна новичкам
Обсуждения этой реализации:
Удобный и логичный front-end and back-end + использование модуля yii-user


Один из плюсов - физическое разделение приложения на уровне каталогов, файлов и настроек.

четверг, 2 августа 2012 г.

Coding Style - Стандарт кодирования на PHP

Стандарт оформления кода (стиль программирования) (англ. coding standards, coding convention или programming style)


Предлагаю, для ознакомления, часть текста документа, который я разработал для себя и своей команды. Основа взята с framework.zend.com/manual/ru/coding-standard.html, часть с PEAR и самая важная часть, из собственного опыта программирования. Я не жду единогласного признания т.к. каждый программист привык к тому к чему привык и, что-то другое для него будет не удобным и неправильным.
По запросу могу предоставить полный текст документа, всего 16 страниц выверенного текста.

Может размещу стандарты работы с БД MySQL, порядок работы с Git и руководство по написанию PHPUnit тестов.





Оглавление

  • Формат файлов3
  • Кодировка3
  • Форматирование PHP-файлов3
  • Общее3
  • Отступы3
  • Максимальная длина строки3
  • Соглашения по именованию3
  • Директории3
  • Классы3
  • Интерфейсы4
  • Имена файлов4
  • Функции и методы4
  • Переменные и свойства5
  • Константы5
  • Стиль кодирования5
  • Обрамление PHP-кода5
  • Строки5
  • Строковые литералы5
  • Строковые литералы, содержащие апострофы6
  • Подстановка переменных и конкатенация строк6
  • SQL запросы6
  • Массивы7
  • Массивы с числовыми индексами7
  • Ассоциативные массивы7
  • Классы8
  • Определение класса8
  • Переменные-члены классов9
  • Функции и методы9
  • Определение функций и методов9
  • Использование функций и методов11
  • Вызовы функций и методов11
  • Управляющие структуры12
  • If / Else / Elseif12
  • Switch13
  • Комментарии14
  • Встроенная документация14
  • Файлы14
  • Классы14
  • Функции15

среда, 1 августа 2012 г.

Yii. CHtml::ajaxLink - AJAX обработка нажатия кнопки

<div id="mposter">Обновить этот DIV</div>
<?php echo CHtml::ajaxLink(
'Получить ответ от сервера',
CController::createUrl('/controller/action'), 
array(
'type' => 'POST',// method
      'data'=>array('update'=>TRUE),// DATA
      'update' => '#mposter',// что обновить :)
));
?>

пятница, 13 июля 2012 г.

Создаем счетчик для размещения на других сайтах

Создаем счетчик для размещения на других сайтах


На странице пользователя:

<script src="//domain/gc.js" type="text/javascript"></script>
<script type="text/javascript">
    try { var gluCounter11111111111 = new Glu.Counter(11111111111); } catch(e){}
</script>
<noscript>
    <a href="http://domain/click/11111111111" target="_blank">
        <img src="//domain/counters/11111111111.png" alt="" />
    </a>
</noscript>

Тег <script type="text/javascript"> используется дважды для того что бы инициализация класса во втором теге произошла только после того как подгрузится файл с удаленного сервера.

Содержимое файла gc.js:

document.write("<a href='http://domain/click' target='_blank'><img src='http://domain/counters/11111111111.png?"+Math.random()+"' alt='' /><\/a>")