PHP cURL reCAPTCHA

На сайте не работала reCAPTCHA — после клика на баннере «Я не робот» появлялась зелёная галочка, но после отправки формы выводилась ошибка про капчу.

В Интернете часто встречается совет скачать файл с сертификатами (с сайта curl.haxx.se) и прописать путь к нему в php.ini:
curl.cainfo="/www/php/cacert.pem"

Однако, мне это не помогло — php просто не видел этот файл, судя по выводу функции openssl_get_cert_locations:
<?
var_dump (openssl_get_cert_locations());
?>


Я пытался по всякому, но ничего не помогало, пока, к счастью, не попался другой параметр для php.ini:
openssl.cafile = "/www/php/cacert.pem"


Теперь в выводе указанной выше функции файл с сертификатами виден:
...["ini_cafile"]=> string(32) "/www/php/cacert.pem"...

yii framework-да база менен иштоо

2чи сабак, биринчи сабактын уландысы.

/opt/lampp/htdocs/2/demos/2/protected/config/main.php
файлын озгоротобуз, базанын жолдорун корсотобуз, mysql базанын аты yii_blog2
<?php
return array(
	'defaultController'=>'salam',

	'import'=>array(
		'application.models.*',
		'application.components.*',
	),

	'components'=>array(		
		'db'=>array(
			'connectionString' => 'mysql:host=localhost;dbname=yii_blog2',
			'emulatePrepare' => true,
			'username' => 'a',
			'password' => '1',
			'charset' => 'utf8',
		),
	),
);


Бул жерде, биринчи defaultController деген — кайсы контроллер иштеши керектиги жонундо, import модельди иштетиш учун керек, модель база менен иштоого керек, калганы базанын логин-парольдору.

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

yii framework-дагы 1чи программа

yii боюнча алгачкы маселени карайбыз

Орнотулган фреймворктун demos папкасын табабыз, жана жаны папка ачабыз.
Менин учурумда томондогудой папка болду.
/opt/lampp/htdocs/2/demos/2

index.php файлын тузобуз ичине томондогуну жазабыз.

<?php
$yii=dirname(__FILE__).'/../../framework/yii.php';
$config=dirname(__FILE__).'/protected/config/main.php';

require_once($yii);
Yii::createWebApplication($config)->run();


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

Эн жонокой мини CMSти ойлоп табуу, оз колубуз менен жасоо (4)

Эми кезек админкадан статьяны кошууга келип жетти, ал учун атайын форма жасаш керек. Admin деген папканын ичинде index.php файлын тузобуз жана анын ичине томондогуну жазабыз. Action.php деген жерге конул бурабыз, бул файл баскыч басылгандан кийин журуучу скрипт.

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

Эн жонокой мини CMSти ойлоп табуу, оз колубуз менен жасоо (3)

Негизги файлдын каркасы томондогудой, файлды подвал, сайдбар, header деп азырынчы боло элекмин, жана стильдерди анан берсек болот. Мисалы базада коптогон статьялар болсун дейли, алардын ар биринин id номери бар, ошол статьялардын экоосун негизги барака чыгарыш учун set_my таблицасындагы эки маанини алабыз, ошол маанини озгорсок да болот, бизге кайсы 2 статья керек болсо, ошонун id номерин беришибибиз керек. Бул амалдарды кылаардан мурун, базаны phpmyadmin-ден маанилер менен толтуруш керек, 5-6 статья жана set_my таблицасына 2 id номерди бериш керек.

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

Эн жонокой мини CMSти ойлоп табуу, оз колубуз менен жасоо

Жонокой Cms-ти жасаганы аракет жасайм, кылган кадамдарымды баяндап
берем.

Сабактын болуктору.
1) Sql скрипт менен базаны жасоо (2 болук)
2) Негизги баракчага базанын маанилерин чыгаруу (3)
3) Админкадан жаны статья кошуу (4)

Cms-тин томондогу функциялары болушу керек
1 Акыркы статьялар негизги баракчада, базадан алынып чыгарылышы керек
2 Админка-да жаны статьяларды кошуу, жана озгортуу фукциялары болушу керек
3 Темаларды кошобуз, аны wordpess-тин темалары сыяктуу кылса болот

Cms ти жасаганда эн татаал амалы бул mysql менен иштоо экен. Ошондуктан биринчи кадам маалымат базалар менен иштоого арналат.
Читать дальше →

Быстрый старт Yii 1.1

Yii — это высокоэффективный, основанный на компонентной структуре PHP-фреймворк, использование которого существенно ускоряет процесс разработки веб-приложений.

Название Yii (произносится как Yee или [ji:]) означает простой (easy), эффективный (efficient) и расширяемый (extensible).

Благодаря своей легковесности и наличию продвинутых средств кэширования, Yii особенно подходит для разработки приложений с большим потоком трафика, таких как порталы, форумы, системы управления контентом (CMS), системы электронной коммерции и др.

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

Проблема с подвисающими процессами Апача

На одном мощном, но высоконагруженном сервере — FreeBSD, MySQL, nginx, Apache, mod_php — систематически возникала проблема с подвисающими процессами Апача. Причём довольно часто — несколько раз в сутки. Выглядело это так — появлялось максимально разрешённое количество процессов Апача (в моём случае 600) и куча процессов в MySQL в состоянии sleep. Ясное дело, что сайт в такие периоды открывался с большой задержкой или вообще не открывался. Помогал только перезапуск Апача (достаточно было graceful, а не restart). Пришлось даже написать скриптик для автоматизации перезапуска Апача (
Я пытался локализовать проблему, но мне это не удавалось. Проблема началась на схеме без Апача — nginx и php-fastcgi, заменил php-fastcgi на Апач с mod_php — не помогло, убрал фронтенд nginx — не помогло, перенёс MySQL на отдельную (тоже мощную) машину — не помогло и вроде бы (уже не уверен) отключал кеширование при помощи eaccelerator. Я уже смирился и надежда была только на обновление версии движка сайта. А тут решил вместо eaccelerator поставить APC (Alternative PHP Cache) и, вроде бы, помогло, по-крайней мере уже трое суток всё нормально.
Ещё понравилось, что в дистрибутиве APC есть php-скрипт для удобного просмотра статистики кеша.
На радостях решил поставить APC и на сервере виртуального хостинга с php-cgi, поставилось без проблем, но не работает — выдаёт кучу ошибок, которые пока победить не удалось.

Первый день — полет нормальный.

Давно я не работал на настоящей работе. Пару недель назад я пошел на первую в Бишкеке конференцию GTUG (Google Technology User Group). Проводил ее мой давний знакомый и коллега по профессии и торренту Костя. Он работает в одной российской компании, которая занимается разработкой ПО. С ним на конференцию пришли почти все его коллеги из этой же конторы. В ходе общения выяснилось, что им срочно требуется PHP программист. Я полушутя предложил себя и уже через неделю прошел собеседование, а сегодня был мой первый рабочий день. Теперь я PHP developer в компании Sibers.

Первый день прошел неожиданно нормально. Поковырял немного плагин для Wordpress. Очень порадовали хороший интернет, хороший компьютер с Ubuntu и душевная компания.
Надеюсь у меня все получится. Все таки я себя не считаю профессионалом, только обнадеживает большой опыт. Работая в такой команде я уж точно узнаю цену себе и надеюсь даже подниму ее :)

Источник

Неудачные коммерческие скрипты, приобретённые мной

Часто, когда появляется мысль о неком новом веб-проекте, возникает проблема в поиске скрипта для него. Я не программист и моих знаний PHP достаточно только для простейших скриптов, так что приходится искать готовые. В некоторых случаях выбор большой и много отличных скриптов с примерно похожим функционалом, например, в случае поиска движка для CMS или форума, а иногда сложно найти что-то подходящее в виду скудности выбора. В последнем случае приходится смотреть и на коммерческие скрипты с разумной (долларов до 70) стоимостью. Вот только в случае коммерческих скриптов зачастую нет возможности установить его и опробовать, так что всегда есть вероятность, что уже купленный скрипт после нескольких дней тестирования оказывается негодным и остаётся только сожалеть о зря потраченных денежках. У меня есть несколько таких примеров, приведу их с кратким пояснением, возможно это поможет кому-то сэкономить деньги на этих скриптах.

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