joker
چهارشنبه 17 اردیبهشت 1393, 21:01 عصر
با سلام خدمت دوستان PHP کار و اللخصوص کسانی که با CodeIgniter نیت کردند کار کنند
نیازی به توضیح در مورد خصوصیات جالب این فریمورک نیست ، احتمالا مقالات زیادی در مورد مقایسه و کاربردها و خصوصیات فریمورکهای php خوندید... از اونجایی که این فریمورک خیلی دستمون توش باز بود به عنوان پلت فرم کاری شرکت انتخابش کردیم و شروع کردیم روش کار کردن و در این مدت نکات ریز و درشت! زیادی یاد گرفتیم که در این تاپیک قصد دارم به مرور نکات را در اختیار دوستان قرار بدم
مقدمه اولیه :
برای دانلود فایل پی دی اف آموزشی کار با کد ایگنیتر هم میتونید از لینک زیر استفاده کنید
http://www.alt.ir/learning/CodeIgniter-Farsi.pdf
برای دانلود فایل آموزشی به زبان انگلیسی نسخه کامل که آموزش موارد پیشرفته این فریمورک ( افزون بر راهنمای فارسی ) را هم شامل میشه میتونید از لینک مستقیم زیر استفاده کنید
http://www.alt.ir/learning/codeigniter-English.pdf
( توجه کنید که تک و توکی از دستورات در نسخه جدید کمی کوتاهتر شدند نسخه فعلی 2.1.4 میباشد موقع نوشتن این مطلب. که در مطالب عملی بعدی بهشون اشاره میکنم
خب پس از دانلود و نصب کد ایگنیتر احتمالا خیلی ها به این فکر میفتند که با دیتابیس MSSQL و IIS کار کنند ( به جای استفاده از WAMP و MySQL)
فرض را بر این میزارم که بلدید CGI PHP را در IIS ویندوز نصب کنید ( راهنماهای نصب و راه اندازی php به صورت تصویری در گوگل فراوان است )
خب این اولین مشکلی بود که ما بهش برخوردیم اون هم عدم ارتباط با دیتابیس MSSQL2012 بود
البته نه به خاطر این فریمورک بلکه به خاطر عدم ساپورت شرکت میکروسافت از آخرین ورژن php که منتشر شده... پس از کلی بدبختی کشیدن متوجه شدیم که بعععععله ، میکروسافت تا ورژن 5.4.27 پی اچ پی بیشتر برای ارتباط با پایگاه داده MSSQL 2012 چیزی منتشر نکرده
پس به اجبار ما در تاریخ نگارش این مطلب مجبوریم از آخرین ورژن سازگار یعنی 5.4.27 استفاده میکنیم – برای دانلود این نسخه میتونید از خود سایت php استفاده کنید.
نکته بعدی نصب فایلهای مورد نیاز روی سرور ویندوزی هست که بتونه ارتباط php را با mssql برقرار کنه
من برای اینکه دردسر نداشته باشید که ویندوز جنیون کنید ! و فایلهای میکروسافت را از سایتش دانلود کنید لینک مستقیم مواد لازم را اینجا قرار میدم
http://www.alt.ir/learning/sqlncli.msi
http://www.alt.ir/learning/php_sqlsrv_54_ts.dll
http://www.alt.ir/learning/php_sqlsrv_54_nts.dll
من از نسخه Thread Safe پی اچ پی استفاده میکنم و فایلهای dll مربوطه که باید در فولدر اکستنشن php کپی کنید را از این لینک دانلود کنید
و در فایل php.ini اون را به شکل زیر معرفی کنید
extension=php_sqlsrv_54_ts.dll
فایل php که من براتون میزارم هم کافیه مسیرهای نصب php را توی اون به مسیر فولدری که php خودتون را نصب کنید تغییر بدید
http://www.alt.ir/learning/php.ini.txt
توجه کنید که بعد از نصب نیاز دارید که IIS را با سطح دسترسی administrator ریست کنید برای این کار هم کافیه CMD را با Run as Administrator اجرا کنید و در اون بنویسیدIISRESET
خب پس ازکپی فایل dll در شاخه php\ext یکبار php-cgi.exe را که در فولدر php هست را اجرا کنید بدون خطا باید اجرا بشه و یک صفحه مشکی خالی بهتون نشون بده.
توجه کنید در بعضی از ویندوزها ممکنه به نبود یک فایل dll گیر بده که با سرچ نام این فایل در اینترنت میتونید دانلودش کنید و در فولدر ویندزتون کپیش کنید ( نکات مزخرف ولی دهن سرویس کن)
در هر حال وقتی ارور نداد – فایل dll فوق کپی شد – و sqlncli.msi را که در بالا معرفی شد را نصب کردید یک phpinfo() بگیرید باید درایور SQLSRV در لیست خصوصیات php به شما نمایش داده بشه
البته فایل sqlncli.msi رانیازی نیست روی سرور ویندوزی که روش MSSQL 2012 نصب شده ، نصب کنید.
چیزی که باید در خروجی تابع phpinfo() ببنید :
SQLSRV
sqlsrv support
Enabled
Directive
Local Value
Master Value
sqlsrv.ClientBufferMaxKBSize
10240
10240
sqlsrv.LogSeverity
0
0
sqlsrv.LogSubsystems
0
0
sqlsrv.WarningsReturnAsErrors
On
On
خب هم اکنون به جای دستورای MSSQL_CONNECT باید از مجموعه دستورات SQLSRV_xxxxx برای ارتباط با دیتابیس mssql بدونه مشکل استفاده کنید
یک نمونه کد phpبرای اطمینان از همه چیز !
یوزر و پسورد و نام دیتابیس را هرچیزی روی سیستمتون ساختید ست کنید و تست بگیرید:
<?php
$connectionInfo = array( "Database" => "myDatabasename", "UID" => "sa", "PWD" => "123", "CharacterSet" => "UTF-8");
$link = sqlsrv_connect( 'localhost',$connectionInfo);
if(!$link) {
echo'Could not connect';
die('Could not connect: ' . sqlsrv_errors() );
}
echo'Successful connection';
sqlsrv_close($link);
?>
این مجموعه نکات آموزشی ادامه دارد....
نیازی به توضیح در مورد خصوصیات جالب این فریمورک نیست ، احتمالا مقالات زیادی در مورد مقایسه و کاربردها و خصوصیات فریمورکهای php خوندید... از اونجایی که این فریمورک خیلی دستمون توش باز بود به عنوان پلت فرم کاری شرکت انتخابش کردیم و شروع کردیم روش کار کردن و در این مدت نکات ریز و درشت! زیادی یاد گرفتیم که در این تاپیک قصد دارم به مرور نکات را در اختیار دوستان قرار بدم
مقدمه اولیه :
برای دانلود فایل پی دی اف آموزشی کار با کد ایگنیتر هم میتونید از لینک زیر استفاده کنید
http://www.alt.ir/learning/CodeIgniter-Farsi.pdf
برای دانلود فایل آموزشی به زبان انگلیسی نسخه کامل که آموزش موارد پیشرفته این فریمورک ( افزون بر راهنمای فارسی ) را هم شامل میشه میتونید از لینک مستقیم زیر استفاده کنید
http://www.alt.ir/learning/codeigniter-English.pdf
( توجه کنید که تک و توکی از دستورات در نسخه جدید کمی کوتاهتر شدند نسخه فعلی 2.1.4 میباشد موقع نوشتن این مطلب. که در مطالب عملی بعدی بهشون اشاره میکنم
خب پس از دانلود و نصب کد ایگنیتر احتمالا خیلی ها به این فکر میفتند که با دیتابیس MSSQL و IIS کار کنند ( به جای استفاده از WAMP و MySQL)
فرض را بر این میزارم که بلدید CGI PHP را در IIS ویندوز نصب کنید ( راهنماهای نصب و راه اندازی php به صورت تصویری در گوگل فراوان است )
خب این اولین مشکلی بود که ما بهش برخوردیم اون هم عدم ارتباط با دیتابیس MSSQL2012 بود
البته نه به خاطر این فریمورک بلکه به خاطر عدم ساپورت شرکت میکروسافت از آخرین ورژن php که منتشر شده... پس از کلی بدبختی کشیدن متوجه شدیم که بعععععله ، میکروسافت تا ورژن 5.4.27 پی اچ پی بیشتر برای ارتباط با پایگاه داده MSSQL 2012 چیزی منتشر نکرده
پس به اجبار ما در تاریخ نگارش این مطلب مجبوریم از آخرین ورژن سازگار یعنی 5.4.27 استفاده میکنیم – برای دانلود این نسخه میتونید از خود سایت php استفاده کنید.
نکته بعدی نصب فایلهای مورد نیاز روی سرور ویندوزی هست که بتونه ارتباط php را با mssql برقرار کنه
من برای اینکه دردسر نداشته باشید که ویندوز جنیون کنید ! و فایلهای میکروسافت را از سایتش دانلود کنید لینک مستقیم مواد لازم را اینجا قرار میدم
http://www.alt.ir/learning/sqlncli.msi
http://www.alt.ir/learning/php_sqlsrv_54_ts.dll
http://www.alt.ir/learning/php_sqlsrv_54_nts.dll
من از نسخه Thread Safe پی اچ پی استفاده میکنم و فایلهای dll مربوطه که باید در فولدر اکستنشن php کپی کنید را از این لینک دانلود کنید
و در فایل php.ini اون را به شکل زیر معرفی کنید
extension=php_sqlsrv_54_ts.dll
فایل php که من براتون میزارم هم کافیه مسیرهای نصب php را توی اون به مسیر فولدری که php خودتون را نصب کنید تغییر بدید
http://www.alt.ir/learning/php.ini.txt
توجه کنید که بعد از نصب نیاز دارید که IIS را با سطح دسترسی administrator ریست کنید برای این کار هم کافیه CMD را با Run as Administrator اجرا کنید و در اون بنویسیدIISRESET
خب پس ازکپی فایل dll در شاخه php\ext یکبار php-cgi.exe را که در فولدر php هست را اجرا کنید بدون خطا باید اجرا بشه و یک صفحه مشکی خالی بهتون نشون بده.
توجه کنید در بعضی از ویندوزها ممکنه به نبود یک فایل dll گیر بده که با سرچ نام این فایل در اینترنت میتونید دانلودش کنید و در فولدر ویندزتون کپیش کنید ( نکات مزخرف ولی دهن سرویس کن)
در هر حال وقتی ارور نداد – فایل dll فوق کپی شد – و sqlncli.msi را که در بالا معرفی شد را نصب کردید یک phpinfo() بگیرید باید درایور SQLSRV در لیست خصوصیات php به شما نمایش داده بشه
البته فایل sqlncli.msi رانیازی نیست روی سرور ویندوزی که روش MSSQL 2012 نصب شده ، نصب کنید.
چیزی که باید در خروجی تابع phpinfo() ببنید :
SQLSRV
sqlsrv support
Enabled
Directive
Local Value
Master Value
sqlsrv.ClientBufferMaxKBSize
10240
10240
sqlsrv.LogSeverity
0
0
sqlsrv.LogSubsystems
0
0
sqlsrv.WarningsReturnAsErrors
On
On
خب هم اکنون به جای دستورای MSSQL_CONNECT باید از مجموعه دستورات SQLSRV_xxxxx برای ارتباط با دیتابیس mssql بدونه مشکل استفاده کنید
یک نمونه کد phpبرای اطمینان از همه چیز !
یوزر و پسورد و نام دیتابیس را هرچیزی روی سیستمتون ساختید ست کنید و تست بگیرید:
<?php
$connectionInfo = array( "Database" => "myDatabasename", "UID" => "sa", "PWD" => "123", "CharacterSet" => "UTF-8");
$link = sqlsrv_connect( 'localhost',$connectionInfo);
if(!$link) {
echo'Could not connect';
die('Could not connect: ' . sqlsrv_errors() );
}
echo'Successful connection';
sqlsrv_close($link);
?>
این مجموعه نکات آموزشی ادامه دارد....