Welcome Login or Register

Course Overview

Title: PHP On Windows


Price: USD 35.00

This online training course takes you through the necessary skills to build web applications using PHP on the IIS7 web platform and utilizing SQL Server for data management.
Prerequisites to attend this course:
This course is for intermediate PHP developers. It is assumed that you already have the basics and is already programming with PHP. The course jump straights into actual real-world application of PHP on the Windows platform


Type

Class

Time Estimate

6 days to complete a total of 11 lessons organized in four separate chapters.


Technical Requirements

This is an online training course. It uses Remote Desktop Connection. For best experience, we suggest that you have the followings:
Using Windows XP, Vista or 7
PC users use Internet Explorer or Netscape/Mozilla/Firefox
You set your monitor resolution to 1024 x 768 or higher
We recommend at least a 512kbp/s broadband connection

Course Details

The PHP on Windows Training Course includes demos, hands-on labs, videos, resources and certification exams to help you understand how to build PHP applications using Windows Server 2008, IIS 7.5 and SQL Server 2008R2.

Prerequisites

The content you will find in this track of the PHP on Windows Training Course will provides a setup document that will walk you through all of the steps to get your environment up & running.

PHP on Windows

The content you will find in this track of the PHP on Windows Training Course is aimed to show you not only the basics of running PHP on Windows but also the power of the Windows Platform.

PHP and SQL Server

The content you will find in this track of the PHP on Windows Training Course will show you, through a set of demos and hands-on labs, the advantages of using SQL Server as a Database Engine, and in particular, the latest features of SQL Server 2008 consumed from PHP applications by using the SQL Server Driver for PHP.

Certification Exam

The certification exam randomly pulls questions from a vast 500 question repository to test you on the knowledge acquired throughout this course

Chapter listing

  • Chapter 1: Prerequisites

    This page list the prerequisites for the PHP On Windows Training Course hands-on labs and demos.

    1. .Net Framework 4 Web Platform Installer

      The .NET Framework is Microsoft's comprehensive and consistent programming model for building applications that have visually stunning user experiences, seamless and secure communication, and the ability to model a range of business processes. To install .NET Framework 4 on a Web Server or to set up an entire Web development environment, use the Microsoft Web Platform Installer.


    2. Windows Powershell

      Windows PowerShell 2.0 SDK contains reference assemblies and samples that demonstrates how to use the Windows PowerShell 2.0 APIs to build a rich set of applications. In this package, you will find sample code which shows how to use the new PowerShell class, how to write cmdlets that supports eventing, transactions and jobs. In addition, there are examples of host applications that connect to remote computers using individual runspaces and runspace pools. This SDK also includes modified Windows PowerShell 1.0 samples using the modified and improved Windows PowerShell 2.0 APIs.


    3. Microsoft SQL Server 2008 R2 Express with Advanced Services

      The Microsoft® SQL Server® 2008 R2 RTM - Express is a powerful and reliable data management system that delivers a rich set of features, data protection, and performance for embedded applications, lightweight Web Sites and applications, and local data stores. Designed for easy deployment and rapid prototyping, this download includes support for Sysprep, Microsoft's System Preparation Utility for Microsoft Windows operating system deployment. SQL Server Express with Advanced Services is an easy-to-use version of the SQL Server Express data platform that includes the graphical management tool SQL Server Management Studio (SMSS) Express, powerful features for reporting, and advanced text-based search capabilities.


    4. SQL Server 2008 R2 AdventureWorks Sample Database

      The AdventureWorks sample database supports standard online transaction processing scenarios for a ficticious bicycle manufacturer (Adventure Works Cycles). Scenarios include Manufacturing, Sales, Purchasing, Product Management, Contact Management, and Human Resources. Note that SQL Full-text Filter and FILESTREAM must be enabled for SQL Server 2008 with Advanced Services. Also that the OLAP components can be installed manually later using the Business Intelligence Development Studio (BIDS).


    5. PHP 5.3 for Windows with FastCGI

      The PHP development team provides support for PHP on Microsoft Windows, which includes, supports for ports of PHP extensions or features as well as providing special builds for the various Windows architectures. VC9 Non-Thread Safe Versions of PHP 5.3 are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability.


    6. SQL Server Driver for PHP v2.0

      The SQL Server Driver for PHP is a PHP 5 extension that allows IO operations against a SQL Server within PHP scripts. The extension provides a procedural interface for accessing data in all editions of SQL Server 2005, SQL Server 2008 and SQL Server 2008 R2.


    7. Microsoft Filter Pack 2.0

      PHP on Windows Training requires the Microsoft Filter Pack installed to enable docx files Full-Text Search on SQL Server. The Microsoft Filter Pack is a single point-of-distribution for Office IFilters. IFilters are components that allow search services to index content of specific file types, letting you search for content in those files. They are intended for use with Microsoft Search Services (Sharepoint, SQL, Exchange, Windows Search).


    8. Adobe PDF IFilter

      PHP on Windows Training requires Adobe PDF IFilter installed to enable pdf files Full-Text Search on SQL Server. For a x86 environment install: Adobe PDF IFilter v6.0. For a x64 environment install: Adobe PDF iFilter 9 for 64-bit platforms. Adobe PDF IFilter is designed for technically savvy users or administrators who wish to index Adobe PDF documents with Microsoft indexing clients. This allows the user to easily search for text within Adobe PDF documents.


    9. Microsoft SQL Server Business Intelligence Development Studio

      PHP on Windows Training SSRS Demo requires Business Intelligence Development Studio. Business Intelligence Development Studio is an integrated environment in Microsoft SQL Server 2008 for developing business intelligence constructs, such as cubes, data sources, reports, and Integration Services packages. Business Intelligence Development Studio includes project templates that provide a context for developing specific constructs. For example, you can choose an Analysis Services project if your objective is to create an Analysis Services database that contains cubes, dimensions, or mining models.


    10. Microsoft SQL Server 2008 Reporting Services Refresh 3 Samples

      PHP on Windows Training SSRS Demo requires Microsoft SQL Server 2008 Reporting Services Refresh 3 Samples.


    11. Microsoft SQL Server 2008 R2 Report Builder 3.0

      PHP on Windows Training SSRS Demo requires Microsoft Report Builder 3.0. Report Builder 3.0 introduces additional visualizations including maps, sparklines and databars which can help produce new insights well beyond what can be achieved with standard tables and charts. The Report Part Gallery is also included in this release - taking self-service reporting to new heights by enabling users to re-use existing report parts as building blocks for creating new reports in a matter of minutes with a “grab and go” experience. Additionally, users will experience significant performance improvements with enhancements to the ability to use Report Builder in server mode. This allows for much faster report processing with caching of datasets on the report server when toggling between design and preview modes.


    12. Miscellaneous and Troubleshooting Tips

      This Miscellaneous and Troubleshooting TIps includes short guides to help the students of the PHPAcade.my to do the lessons contained in this course. To proceed with the Lessons, click on the View Lesson Resources, this will list Notes, Videos, Links and Downloads. Click on these to list the items under each.


    13. PHP on Windows Training Kit Configuration Wizard

      Microsoft has made available a PHP on Windows and SQL Server Training Kit for download at their website. The training kit includes a comprehensive set of technical content including demos and hands-on labs to help you understand how to build PHP applications using Windows, IIS 7.5 and SQL Server 2008 R2. This also includes Setup Wizards for making the configurations for the respective hands-on labs and demos.

       


  • Chapter 2: PHP On Windows

    The content you will find in this track of the PHP on Windows Training Kit is aimed to show you not only the basics of running PHP on Windows but also the power of the Windows Platform.

     

    1. Hands-On Lab: Using IIS 7.5 Media Features in a PHP Application

      This hands-on lab illustrates using IIS 7.5 Media features in a PHP application that enables it to quickly build a Web media delivery solution using out-of-the-box IIS 7.5 features, and reduce the costs of delivering media by controlling bandwidth.


    2. Hands-On Lab: Troubleshooting PHP

      This hands-on lab briefly discusses common issues encountered when installing PHP on IIS 7.5, and illustrates troubleshooting techniques that can be used to diagnose and solve problems when running PHP on IIS 7.5.


    3. Hands-On Lab: IIS 7.5 Access Control Features for PHP

      This hands-on lab illustrates the use of IIS 7.5 access control features to create flexible and manageable access control solutions for PHP applications and the PHP-specific integration that can enable PHP applications to make application-level access control decisions.

       


    4. Hands-On Lab: Migrating PHP Applications to IIS 7.5

      This hands-on lab illustrates the typical process of migrating a PHP application to IIS 7.5.


  • Chapter 3: PHP and SQL Server

    The content you will find in this track of the PHP on Windows Training Kit will show you, through a set of demos and hands-on labs, the advantages of using SQL Server as a Database Engine, and in particular, the latest features of SQL Server 2008 consumed from PHP applications by using the SQL Server Driver for PHP.

    1. Demo: Spatial Demo

      This demo is aimed to show the spatial capabilities of SQL Server 2008 R2 integrated with PHP. It relies on SQL Server to store and perform calculations on geography data types, and Virtual Earth to render the spatial shapes on a map.


    2. Demo: SQL Server Reporting Services Demo

      This demo is aimed to show the reporting capabilities of SQL Server 2008 R2 integrated with PHP. It relies on SQL Server Reporting Services to generate and host custom reports and consume the management services needed to integrate them in your own applications.


    3. Hands-On Lab: Introduction to Using SQL Server with PHP

      Through this hands-on lab you will learn how to perform basic CRUD operations against a SQL Server running on IIS 7.5 from PHP scripts, including instructions on how to connect to the database and how to perform operations within a transaction scope.


    4. Hands-On Lab: Using SQL Server Full-Text Search and Filestream Storage with PHP

      Through this hands-on lab you will learn how to take advantage of Microsoft SQL Server features like Filestream storage and Full-text Search Capabilities.


    5. Hands-On Lab: Getting Started with SQL Server Migration Assistant for MySQL

      Through this hands-on lab you will learn how to migrate a MySQL database to SQL Server 2008 R2.


    6. Video: Introduction to SSMA

      This video introduces SSMA tool including how to download and install as well as provide quick tour of SSMA user interface.

       


    7. Video: Planning Your Database Migration

      This video provides a quick overview of planning your database migration and setting up your SSMA, including connecting to your databases and configuring SSMA project setting.


    8. Video: Analyzing Database Using SSMA

      This video walks you through database assessment feature of SSMA.

       


    9. Video: Converting Schema to SQL Server

      This video walks you through the schema conversion of SSMA, including an example on how to resolve issue during conversion.

       


    10. Video: Migrating Data Using SSMA

      This video describes how to migrate data using SSMA.

       


    11. Video: Automating Database Migration Using SSMA Console Application

      This video introduces SSMA console application which can automate your SSMA database migration tasks.

       


    12. Reference: Accessing SQL Server Databases with PHP

      The Microsoft SQL Server Driver for PHP allows PHP developers to access data in SQL Server 2005, SQL Server 2008 and SQL Server 2008 R2 databases. The driver includes support for Windows and SQL Server Authentication methods, transactions, parameter binding, streaming, metadata access, connection pooling, and error handling. This paper explains how to load and configure the driver, and discusses how to leverage several of the features mentioned above.


Chapter listing

  • Chapter 1: Prerequisites
    1. .Net Framework 4 Web Platform Installer
    2. Windows Powershell
    3. Microsoft SQL Server 2008 R2 Express with Advanced Services
    4. SQL Server 2008 R2 AdventureWorks Sample Database
    5. PHP 5.3 for Windows with FastCGI
    6. SQL Server Driver for PHP v2.0
    7. Microsoft Filter Pack 2.0
    8. Adobe PDF IFilter
    9. Microsoft SQL Server Business Intelligence Development Studio
    10. Microsoft SQL Server 2008 Reporting Services Refresh 3 Samples
    11. Microsoft SQL Server 2008 R2 Report Builder 3.0
    12. Miscellaneous and Troubleshooting Tips
    13. PHP on Windows Training Kit Configuration Wizard
  • Chapter 2: PHP On Windows
    1. Hands-On Lab: Using IIS 7.5 Media Features in a PHP Application
    2. Hands-On Lab: Troubleshooting PHP
    3. Hands-On Lab: IIS 7.5 Access Control Features for PHP
    4. Hands-On Lab: Migrating PHP Applications to IIS 7.5
  • Chapter 3: PHP and SQL Server
    1. Demo: Spatial Demo
    2. Demo: SQL Server Reporting Services Demo
    3. Hands-On Lab: Introduction to Using SQL Server with PHP
    4. Hands-On Lab: Using SQL Server Full-Text Search and Filestream Storage with PHP
    5. Hands-On Lab: Getting Started with SQL Server Migration Assistant for MySQL
    6. Video: Introduction to SSMA
    7. Video: Planning Your Database Migration
    8. Video: Analyzing Database Using SSMA
    9. Video: Converting Schema to SQL Server
    10. Video: Migrating Data Using SSMA
    11. Video: Automating Database Migration Using SSMA Console Application
    12. Reference: Accessing SQL Server Databases with PHP

Available Classes

No Classes Available
  • Share on Twitter
  • Give Feedback
  • Help
(default) 48 queries took 111 ms
NrQueryErrorAffectedNum. rowsTook (ms)
1SHOW FULL COLUMNS FROM `aros`771
2SELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLLATIONS WHERE COLLATION_NAME= 'latin1_swedish_ci';111
3SHOW FULL COLUMNS FROM `acos`771
4SHOW FULL COLUMNS FROM `aros_acos`771
5SHOW FULL COLUMNS FROM `cake_sessions`331
6SHOW FULL COLUMNS FROM `courses`13132
7SHOW FULL COLUMNS FROM `course_types`221
8SHOW FULL COLUMNS FROM `chapters`551
9SHOW FULL COLUMNS FROM `lessons`551
10SHOW FULL COLUMNS FROM `resource_items`881
11SHOW FULL COLUMNS FROM `resources`441
12SHOW FULL COLUMNS FROM `undertaking_lessons`441
13SHOW FULL COLUMNS FROM `batches`992
14SHOW FULL COLUMNS FROM `undertakings`661
15SHOW FULL COLUMNS FROM `users`20202
16SHOW FULL COLUMNS FROM `roles`551
17SELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLLATIONS WHERE COLLATION_NAME= 'utf8_unicode_ci';111
18SHOW FULL COLUMNS FROM `countries`221
19SHOW FULL COLUMNS FROM `user_sessions`441
20SHOW FULL COLUMNS FROM `transactions`991
21SHOW FULL COLUMNS FROM `coupons`991
22SHOW FULL COLUMNS FROM `exam_parents`661
23SHOW FULL COLUMNS FROM `exam_courses_parents`551
24SHOW FULL COLUMNS FROM `exam_categories`881
25SHOW FULL COLUMNS FROM `exam_questions`661
26SHOW FULL COLUMNS FROM `exam_question_choices`771
27SHOW FULL COLUMNS FROM `exam_categories_questions`551
28SHOW FULL COLUMNS FROM `exam_users`771
29SELECT `Session`.`id`, `Session`.`data`, `Session`.`expires` FROM `cake_sessions` AS `Session` WHERE `id` = '9774509a8f728af80fd3a382304463f9' LIMIT 1110
30SELECT `Course`.`id`, `Course`.`name`, `Course`.`description`, `Course`.`body`, `Course`.`price`, `Course`.`status`, `Course`.`course_type_id`, `Course`.`time_estimate`, `Course`.`requisite`, `Course`.`tech_requirement`, `Course`.`created`, `Course`.`modified`, `Course`.`subdomain`, `CourseType`.`id`, `CourseType`.`name` FROM `courses` AS `Course` LEFT JOIN `course_types` AS `CourseType` ON (`Course`.`course_type_id` = `CourseType`.`id`) WHERE `Course`.`id` = 12 LIMIT 11114
31SELECT `Chapter`.`id`, `Chapter`.`course_id`, `Chapter`.`name`, `Chapter`.`body`, `Chapter`.`sorting` FROM `chapters` AS `Chapter` WHERE `Chapter`.`course_id` = (12) ORDER BY `sorting` ASC 331
32SELECT `Batch`.`id`, `Batch`.`course_id`, `Batch`.`start`, `Batch`.`end`, `Batch`.`register_start`, `Batch`.`register_end`, `Batch`.`name`, `Batch`.`type`, `Batch`.`status` FROM `batches` AS `Batch` WHERE `Batch`.`register_start` <= '2012-02-22' AND `Batch`.`register_end` >= '2012-02-22' AND `Batch`.`status` = 'active' AND `Batch`.`course_id` = (12) ORDER BY `Batch`.`start` DESC 001
33SELECT `ExamParent`.`id`, `ExamParent`.`name`, `ExamParent`.`modified`, `ExamParent`.`created`, `ExamParent`.`trial_count`, `ExamParent`.`required_grade`, `ExamCoursesParent`.`id`, `ExamCoursesParent`.`exam_parent_id`, `ExamCoursesParent`.`course_id`, `ExamCoursesParent`.`created`, `ExamCoursesParent`.`modified` FROM `exam_parents` AS `ExamParent` JOIN `exam_courses_parents` AS `ExamCoursesParent` ON (`ExamCoursesParent`.`course_id` = 12 AND `ExamCoursesParent`.`exam_parent_id` = `ExamParent`.`id`) 3313
34SELECT `Lesson`.`id`, `Lesson`.`chapter_id`, `Lesson`.`name`, `Lesson`.`detail`, `Lesson`.`sorting` FROM `lessons` AS `Lesson` WHERE `Lesson`.`chapter_id` = 23 13132
35SELECT `Lesson`.`id`, `Lesson`.`chapter_id`, `Lesson`.`name`, `Lesson`.`detail`, `Lesson`.`sorting` FROM `lessons` AS `Lesson` WHERE `Lesson`.`chapter_id` = 21 440
36SELECT `Lesson`.`id`, `Lesson`.`chapter_id`, `Lesson`.`name`, `Lesson`.`detail`, `Lesson`.`sorting` FROM `lessons` AS `Lesson` WHERE `Lesson`.`chapter_id` = 22 12120
37SELECT `Lesson`.`id`, `Lesson`.`chapter_id`, `Lesson`.`name`, `Lesson`.`detail`, `Lesson`.`sorting`, `Chapter`.`id`, `Chapter`.`course_id`, `Chapter`.`name`, `Chapter`.`body`, `Chapter`.`sorting` FROM `lessons` AS `Lesson` LEFT JOIN `chapters` AS `Chapter` ON (`Lesson`.`chapter_id` = `Chapter`.`id`) WHERE `Lesson`.`chapter_id` = 23 13131
38SELECT `ResourceItem`.`id`, `ResourceItem`.`resource_id`, `ResourceItem`.`lesson_id`, `ResourceItem`.`name`, `ResourceItem`.`hyperlink`, `ResourceItem`.`file`, `ResourceItem`.`description`, `ResourceItem`.`body` FROM `resource_items` AS `ResourceItem` WHERE `ResourceItem`.`lesson_id` IN (54, 55, 58, 59, 60, 61, 62, 63, 64, 65, 66, 90, 91) 353513
39SELECT `UndertakingLesson`.`id`, `UndertakingLesson`.`lesson_id`, `UndertakingLesson`.`undertaking_id`, `UndertakingLesson`.`status` FROM `undertaking_lessons` AS `UndertakingLesson` WHERE `UndertakingLesson`.`lesson_id` IN (54, 55, 58, 59, 60, 61, 62, 63, 64, 65, 66, 90, 91) 61611
40SELECT `Lesson`.`id`, `Lesson`.`chapter_id`, `Lesson`.`name`, `Lesson`.`detail`, `Lesson`.`sorting`, `Chapter`.`id`, `Chapter`.`course_id`, `Chapter`.`name`, `Chapter`.`body`, `Chapter`.`sorting` FROM `lessons` AS `Lesson` LEFT JOIN `chapters` AS `Chapter` ON (`Lesson`.`chapter_id` = `Chapter`.`id`) WHERE `Lesson`.`chapter_id` = 21 441
41SELECT `ResourceItem`.`id`, `ResourceItem`.`resource_id`, `ResourceItem`.`lesson_id`, `ResourceItem`.`name`, `ResourceItem`.`hyperlink`, `ResourceItem`.`file`, `ResourceItem`.`description`, `ResourceItem`.`body` FROM `resource_items` AS `ResourceItem` WHERE `ResourceItem`.`lesson_id` IN (74, 75, 72, 76) 33332
42SELECT `UndertakingLesson`.`id`, `UndertakingLesson`.`lesson_id`, `UndertakingLesson`.`undertaking_id`, `UndertakingLesson`.`status` FROM `undertaking_lessons` AS `UndertakingLesson` WHERE `UndertakingLesson`.`lesson_id` IN (74, 75, 72, 76) 17170
43SELECT `Lesson`.`id`, `Lesson`.`chapter_id`, `Lesson`.`name`, `Lesson`.`detail`, `Lesson`.`sorting`, `Chapter`.`id`, `Chapter`.`course_id`, `Chapter`.`name`, `Chapter`.`body`, `Chapter`.`sorting` FROM `lessons` AS `Lesson` LEFT JOIN `chapters` AS `Chapter` ON (`Lesson`.`chapter_id` = `Chapter`.`id`) WHERE `Lesson`.`chapter_id` = 22 12121
44SELECT `ResourceItem`.`id`, `ResourceItem`.`resource_id`, `ResourceItem`.`lesson_id`, `ResourceItem`.`name`, `ResourceItem`.`hyperlink`, `ResourceItem`.`file`, `ResourceItem`.`description`, `ResourceItem`.`body` FROM `resource_items` AS `ResourceItem` WHERE `ResourceItem`.`lesson_id` IN (78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89) 43432
45SELECT `UndertakingLesson`.`id`, `UndertakingLesson`.`lesson_id`, `UndertakingLesson`.`undertaking_id`, `UndertakingLesson`.`status` FROM `undertaking_lessons` AS `UndertakingLesson` WHERE `UndertakingLesson`.`lesson_id` IN (78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89) 36360
46SELECT `Undertaking`.`batch_id` FROM `undertakings` AS `Undertaking` WHERE `Undertaking`.`user_id` IS NULL AND `Undertaking`.`batch_id` IS NULL 001
47SELECT `ExamCategory`.`id`, `ExamCategory`.`name`, `ExamCategory`.`duration`, `ExamCategory`.`start_date`, `ExamCategory`.`created`, `ExamCategory`.`modified`, `ExamCategory`.`exam_parent_id`, `ExamCategory`.`total_question` FROM `exam_categories` AS `ExamCategory` WHERE 1 = 1 LIMIT 11116
48SELECT `ExamQuestion`.`id`, `ExamQuestion`.`name`, `ExamQuestion`.`codes`, `ExamQuestion`.`marks`, `ExamQuestion`.`created`, `ExamQuestion`.`modified`, `ExamCategoriesQuestion`.`id`, `ExamCategoriesQuestion`.`exam_category_id`, `ExamCategoriesQuestion`.`exam_question_id`, `ExamCategoriesQuestion`.`created`, `ExamCategoriesQuestion`.`modified` FROM `exam_questions` AS `ExamQuestion` JOIN `exam_categories_questions` AS `ExamCategoriesQuestion` ON (`ExamCategoriesQuestion`.`exam_category_id` = 23 AND `ExamCategoriesQuestion`.`exam_question_id` = `ExamQuestion`.`id`) 292911