This document provides instructions for installing Apache and PHP on Windows. It describes downloading and installing Apache from the Apache website. The installation process involves selecting options like running Apache as a service on port 80. It also explains setting up PHP by downloading the PHP ZIP file, extracting it to a folder, editing the php.ini file to enable extensions and set configuration options, and testing the PHP installation.
A class defines the data and behavior of a type by grouping together variables, methods, and events. It supports encapsulation by allowing fields and methods to be declared as instance or static members. A class is declared using the class keyword followed by the class name and body surrounded by curly braces. Objects are instances of a class that can access members using the dot operator. Constructors are special methods that initialize an object when created with the new operator.
Method overloading in Java allows methods within a class to have the same name but different parameters. It increases program readability. Method overloading can be achieved by changing the number of arguments or their data types but not by changing the return type alone. The main method can also be overloaded. Type promotion may occur when no exact match for method parameters is found. Ambiguity can arise if multiple methods are applicable through an equal number of promotions.
Loops execute a block of code a specified number of times, or while a specified condition is true.
Often when you write code, you want the same block of code to run over and over again in a row. Instead of adding several almost equal lines in a script we can use loops to perform a task like this.
In PHP, we have the following looping statements:
while - loops through a block of code while a specified condition is true
do...while - loops through a block of code once, and then repeats the loop as long as a specified condition is true
for - loops through a block of code a specified number of times
foreach - loops through a block of code for each element in an array
The document discusses web authentication and authorization. It introduces various authentication threats and technologies like usernames/passwords, one-time passwords, and Kerberos. It also discusses authentication attacks like brute force attacks and weak password recovery validation. The document then covers authentication techniques and infrastructures such as pluggable authentication modules and secure sockets layer. Finally, it discusses web authentication standards including single sign-on, OAuth, and OpenID.
JavaScript is a client-side scripting language that allows web pages to become interactive. It can update parts of a page without reloading the entire page. JavaScript code can be included internally within HTML script tags or externally in .js files linked via the HTML header. Common JavaScript data types include strings, numbers, Booleans, and arrays. JavaScript contains various operators for arithmetic, assignment, comparison, and logical operations. Variables are used to store and update data in JavaScript. Popup boxes like alerts, prompts, and confirmations allow collecting user input and feedback. Conditional statements like if/else are used to execute different code depending on certain conditions.
This document discusses connecting to and interacting with MySQL databases from PHP. It covers connecting to a MySQL database server, selecting databases, executing SQL statements, working with query results, and inserting, updating and deleting records. Functions covered include mysql_connect(), mysql_query(), mysql_fetch_row(), mysql_affected_rows(), and mysql_info(). The document provides examples of connecting to MySQL, selecting databases, executing queries, and accessing and manipulating data.
This document discusses exception handling in C++ and Java. It defines what exceptions are and explains that exception handling separates error handling code from normal code to make programs more readable and robust. It covers try/catch blocks, throwing and catching exceptions, and exception hierarchies. Finally, it provides an example of implementing exception handling in a C++ program to handle divide-by-zero errors.
This document discusses overriding in object-oriented programming. It defines overriding as when a method in a child class has the same name and signature as a method in the parent class. It covers key topics around overriding like replacement vs refinement, shadowing vs overriding, and covariance and contravariance. It provides examples to illustrate these concepts and summarizes that overriding is resolved at runtime, while shadowing is resolved at compile time.
A class defines the data and behavior of a type by grouping together variables, methods, and events. It supports encapsulation by allowing fields and methods to be declared as instance or static members. A class is declared using the class keyword followed by the class name and body surrounded by curly braces. Objects are instances of a class that can access members using the dot operator. Constructors are special methods that initialize an object when created with the new operator.
Method overloading in Java allows methods within a class to have the same name but different parameters. It increases program readability. Method overloading can be achieved by changing the number of arguments or their data types but not by changing the return type alone. The main method can also be overloaded. Type promotion may occur when no exact match for method parameters is found. Ambiguity can arise if multiple methods are applicable through an equal number of promotions.
Loops execute a block of code a specified number of times, or while a specified condition is true.
Often when you write code, you want the same block of code to run over and over again in a row. Instead of adding several almost equal lines in a script we can use loops to perform a task like this.
In PHP, we have the following looping statements:
while - loops through a block of code while a specified condition is true
do...while - loops through a block of code once, and then repeats the loop as long as a specified condition is true
for - loops through a block of code a specified number of times
foreach - loops through a block of code for each element in an array
The document discusses web authentication and authorization. It introduces various authentication threats and technologies like usernames/passwords, one-time passwords, and Kerberos. It also discusses authentication attacks like brute force attacks and weak password recovery validation. The document then covers authentication techniques and infrastructures such as pluggable authentication modules and secure sockets layer. Finally, it discusses web authentication standards including single sign-on, OAuth, and OpenID.
JavaScript is a client-side scripting language that allows web pages to become interactive. It can update parts of a page without reloading the entire page. JavaScript code can be included internally within HTML script tags or externally in .js files linked via the HTML header. Common JavaScript data types include strings, numbers, Booleans, and arrays. JavaScript contains various operators for arithmetic, assignment, comparison, and logical operations. Variables are used to store and update data in JavaScript. Popup boxes like alerts, prompts, and confirmations allow collecting user input and feedback. Conditional statements like if/else are used to execute different code depending on certain conditions.
This document discusses connecting to and interacting with MySQL databases from PHP. It covers connecting to a MySQL database server, selecting databases, executing SQL statements, working with query results, and inserting, updating and deleting records. Functions covered include mysql_connect(), mysql_query(), mysql_fetch_row(), mysql_affected_rows(), and mysql_info(). The document provides examples of connecting to MySQL, selecting databases, executing queries, and accessing and manipulating data.
This document discusses exception handling in C++ and Java. It defines what exceptions are and explains that exception handling separates error handling code from normal code to make programs more readable and robust. It covers try/catch blocks, throwing and catching exceptions, and exception hierarchies. Finally, it provides an example of implementing exception handling in a C++ program to handle divide-by-zero errors.
This document discusses overriding in object-oriented programming. It defines overriding as when a method in a child class has the same name and signature as a method in the parent class. It covers key topics around overriding like replacement vs refinement, shadowing vs overriding, and covariance and contravariance. It provides examples to illustrate these concepts and summarizes that overriding is resolved at runtime, while shadowing is resolved at compile time.
Basics, Components, Design and Development of Web Application and Websites. Especially made for seminars and guest sessions for newbies in Web Development field.
STAENZ Academy
https://staenz.com/academy
Introduction to Web Application Penetration TestingRana Khalil
Intro to web application penetration testing workshop I held in Atlanta as part of the AnitaBorg Cybersecurity Weekend on Aug. 19. The link for the event can be found here: https://community.anitab.org/event/atl-cybersecurity-day-two/
This document provides an introduction to exception handling in programming. It discusses that exceptions are unusual runtime conditions, like division by zero, that a program may encounter during execution. It explains that code that could cause exceptions is placed in a try block. When an exception occurs in the try block, it is thrown using a throw statement. The catch block then handles the exception by generating user-friendly error messages. The document provides the syntax for try, throw, and catch blocks and includes an example program that catches a division by zero exception.
Input validation is important to prevent incorrect or invalid values from being entered into an application which could lead to user frustration or security issues. Exceptions handle errors and unexpected conditions during program execution. Common exceptions include ImportError, ValueError, and IOError. The try-except block allows code to be executed within the try statement and exceptions raised to be handled in the except block through predefined or custom exceptions.
Cookies and sessions allow servers to store and retrieve information about users across multiple page requests that would otherwise be stateless. Cookies store data in the user's browser, while sessions store data on the server. Cookies have limits on size and number, while sessions can store larger objects but expire when the browser closes. PHP provides functions like setcookie() and $_SESSION to easily manage cookies and sessions for maintaining state in web applications.
The document discusses PHP, an open-source scripting language commonly used for web development. It can be embedded into HTML pages and is used to dynamically generate webpage content. PHP code is executed on the server and generates HTML that is sent to the browser. The document also discusses using XAMPP, a free and open-source cross-platform web server solution stack, to install and run PHP, MySQL, and Apache on your local computer for testing websites.
The document discusses key concepts of classes and objects in C# including defining classes, adding variables and methods, member access modifiers, creating objects, constructors, static members, private constructors, and indexers. It defines classes as user defined data types that can encapsulate data as fields and functions as methods. Objects are instances of classes that allow data and methods to be accessed. Constructors initialize objects, while static members are associated with the class rather than individual objects.
The document discusses functions in C programming. It defines functions as self-contained blocks of code that perform a specific task. Functions make a program modular and easier to debug. There are four main types of functions: functions with no arguments and no return value, functions with no arguments but a return value, functions with arguments but no return value, and functions with both arguments and a return value. Functions are called by their name and can pass data between the calling and called functions using arguments.
The document discusses exception handling in Java. It begins by defining what errors and exceptions are, and how traditional error handling works. It then explains how exception handling in Java works using keywords like try, catch, throw, throws and finally. The document discusses checked and unchecked exceptions, common Java exceptions, how to define custom exceptions, and rethrowing exceptions. It notes advantages of exceptions like separating error handling code and propagating errors up the call stack.
The document provides an overview of JavaScript design patterns including creational, structural, and behavioral patterns. It discusses common patterns like the module pattern, prototype pattern, factory pattern, decorator pattern, observer pattern, and more. Code examples are provided to demonstrate how each pattern works in JavaScript.
PHP is an open-source server-side scripting language used for web development. It was created by Rasmus Lerdorf in 1994. Some key points:
- PHP scripts are embedded into HTML pages and executed on the server side, with the output sent to the client. This allows PHP to generate dynamic web page content.
- PHP is free to use and runs on many platforms including Windows, Linux, and Mac. It is compatible with many databases like MySQL.
- The language syntax is loosely based on C and Java. Key constructs include variables, strings, arrays, functions, loops, conditional statements, and object-oriented capabilities.
- PHP files use .php extensions and code
This document discusses exception handling in Java. It covers the key concepts of exceptions and errors, stack traces, checked and unchecked exceptions, try-catch-finally blocks, try with resources, multiple exceptions in a single catch, and advantages of exception handling like maintaining normal program flow. It also discusses custom exceptions by subclassing the Exception class.
Abstract classes and interfaces allow for abstraction and polymorphism in object-oriented design. Abstract classes can contain both abstract and concrete methods, while interfaces only contain abstract methods. Abstract classes are used to provide a common definition for subclasses through inheritance, while interfaces define a contract for implementing classes to follow. Both increase complexity, so their use should provide clear benefits to functionality.
Access modifiers in Java define the scope of variables, methods, and classes. The four access modifiers are public, private, protected, and default. Public members are accessible everywhere, private within the class, protected within the package and subclasses, and default within the package. Arrays are objects that hold multiple values of the same type. One-dimensional arrays have a fixed length, and elements are initialized with default values. Multi-dimensional arrays are arrays of arrays. Two-dimensional arrays represent rows and columns. Array bounds cannot be exceeded, but the reference variable can refer to a new array. The arraycopy method copies arrays.
This document discusses error handling in PHP. It begins by explaining the different types of errors in PHP - notices, warnings, and fatal errors. It then provides examples of how to control which errors are displayed to the user, define custom error handlers, trigger custom errors, and use exception handling with try/catch blocks. The key aspects covered are how to intercept errors gracefully and provide user-friendly messages.
Procedures functions structures in VB.Nettjunicornfx
This document discusses procedures, functions, and structures in Visual Basic .NET. It defines procedures as blocks of code that can be invoked from other parts of a program and optionally accept arguments. Functions are similar but return a value. Structures allow user-defined data types. The document provides examples and explains how to declare, define parameters for, and call procedures and functions. It also covers argument passing mechanisms, built-in math and string functions, and variable scope.
The document provides step-by-step instructions for installing Mantis, an open source bug tracking tool, on a Windows system using Apache web server and MySQL database. It describes downloading and configuring Apache, PHP, and MySQL before explaining how to set up Mantis within the Apache directory and configure PHP and databases to interface with Mantis. Finally, it outlines launching the Mantis administration page in a web browser to complete the installation process.
The document provides step-by-step instructions for installing Mantis, an open source bug tracking tool, on a Windows system using Apache web server and MySQL database. It describes downloading and configuring Apache, PHP, and MySQL before using PHP to connect to the MySQL database and deploying Mantis in the Apache web directory.
Basics, Components, Design and Development of Web Application and Websites. Especially made for seminars and guest sessions for newbies in Web Development field.
STAENZ Academy
https://staenz.com/academy
Introduction to Web Application Penetration TestingRana Khalil
Intro to web application penetration testing workshop I held in Atlanta as part of the AnitaBorg Cybersecurity Weekend on Aug. 19. The link for the event can be found here: https://community.anitab.org/event/atl-cybersecurity-day-two/
This document provides an introduction to exception handling in programming. It discusses that exceptions are unusual runtime conditions, like division by zero, that a program may encounter during execution. It explains that code that could cause exceptions is placed in a try block. When an exception occurs in the try block, it is thrown using a throw statement. The catch block then handles the exception by generating user-friendly error messages. The document provides the syntax for try, throw, and catch blocks and includes an example program that catches a division by zero exception.
Input validation is important to prevent incorrect or invalid values from being entered into an application which could lead to user frustration or security issues. Exceptions handle errors and unexpected conditions during program execution. Common exceptions include ImportError, ValueError, and IOError. The try-except block allows code to be executed within the try statement and exceptions raised to be handled in the except block through predefined or custom exceptions.
Cookies and sessions allow servers to store and retrieve information about users across multiple page requests that would otherwise be stateless. Cookies store data in the user's browser, while sessions store data on the server. Cookies have limits on size and number, while sessions can store larger objects but expire when the browser closes. PHP provides functions like setcookie() and $_SESSION to easily manage cookies and sessions for maintaining state in web applications.
The document discusses PHP, an open-source scripting language commonly used for web development. It can be embedded into HTML pages and is used to dynamically generate webpage content. PHP code is executed on the server and generates HTML that is sent to the browser. The document also discusses using XAMPP, a free and open-source cross-platform web server solution stack, to install and run PHP, MySQL, and Apache on your local computer for testing websites.
The document discusses key concepts of classes and objects in C# including defining classes, adding variables and methods, member access modifiers, creating objects, constructors, static members, private constructors, and indexers. It defines classes as user defined data types that can encapsulate data as fields and functions as methods. Objects are instances of classes that allow data and methods to be accessed. Constructors initialize objects, while static members are associated with the class rather than individual objects.
The document discusses functions in C programming. It defines functions as self-contained blocks of code that perform a specific task. Functions make a program modular and easier to debug. There are four main types of functions: functions with no arguments and no return value, functions with no arguments but a return value, functions with arguments but no return value, and functions with both arguments and a return value. Functions are called by their name and can pass data between the calling and called functions using arguments.
The document discusses exception handling in Java. It begins by defining what errors and exceptions are, and how traditional error handling works. It then explains how exception handling in Java works using keywords like try, catch, throw, throws and finally. The document discusses checked and unchecked exceptions, common Java exceptions, how to define custom exceptions, and rethrowing exceptions. It notes advantages of exceptions like separating error handling code and propagating errors up the call stack.
The document provides an overview of JavaScript design patterns including creational, structural, and behavioral patterns. It discusses common patterns like the module pattern, prototype pattern, factory pattern, decorator pattern, observer pattern, and more. Code examples are provided to demonstrate how each pattern works in JavaScript.
PHP is an open-source server-side scripting language used for web development. It was created by Rasmus Lerdorf in 1994. Some key points:
- PHP scripts are embedded into HTML pages and executed on the server side, with the output sent to the client. This allows PHP to generate dynamic web page content.
- PHP is free to use and runs on many platforms including Windows, Linux, and Mac. It is compatible with many databases like MySQL.
- The language syntax is loosely based on C and Java. Key constructs include variables, strings, arrays, functions, loops, conditional statements, and object-oriented capabilities.
- PHP files use .php extensions and code
This document discusses exception handling in Java. It covers the key concepts of exceptions and errors, stack traces, checked and unchecked exceptions, try-catch-finally blocks, try with resources, multiple exceptions in a single catch, and advantages of exception handling like maintaining normal program flow. It also discusses custom exceptions by subclassing the Exception class.
Abstract classes and interfaces allow for abstraction and polymorphism in object-oriented design. Abstract classes can contain both abstract and concrete methods, while interfaces only contain abstract methods. Abstract classes are used to provide a common definition for subclasses through inheritance, while interfaces define a contract for implementing classes to follow. Both increase complexity, so their use should provide clear benefits to functionality.
Access modifiers in Java define the scope of variables, methods, and classes. The four access modifiers are public, private, protected, and default. Public members are accessible everywhere, private within the class, protected within the package and subclasses, and default within the package. Arrays are objects that hold multiple values of the same type. One-dimensional arrays have a fixed length, and elements are initialized with default values. Multi-dimensional arrays are arrays of arrays. Two-dimensional arrays represent rows and columns. Array bounds cannot be exceeded, but the reference variable can refer to a new array. The arraycopy method copies arrays.
This document discusses error handling in PHP. It begins by explaining the different types of errors in PHP - notices, warnings, and fatal errors. It then provides examples of how to control which errors are displayed to the user, define custom error handlers, trigger custom errors, and use exception handling with try/catch blocks. The key aspects covered are how to intercept errors gracefully and provide user-friendly messages.
Procedures functions structures in VB.Nettjunicornfx
This document discusses procedures, functions, and structures in Visual Basic .NET. It defines procedures as blocks of code that can be invoked from other parts of a program and optionally accept arguments. Functions are similar but return a value. Structures allow user-defined data types. The document provides examples and explains how to declare, define parameters for, and call procedures and functions. It also covers argument passing mechanisms, built-in math and string functions, and variable scope.
The document provides step-by-step instructions for installing Mantis, an open source bug tracking tool, on a Windows system using Apache web server and MySQL database. It describes downloading and configuring Apache, PHP, and MySQL before explaining how to set up Mantis within the Apache directory and configure PHP and databases to interface with Mantis. Finally, it outlines launching the Mantis administration page in a web browser to complete the installation process.
The document provides step-by-step instructions for installing Mantis, an open source bug tracking tool, on a Windows system using Apache web server and MySQL database. It describes downloading and configuring Apache, PHP, and MySQL before using PHP to connect to the MySQL database and deploying Mantis in the Apache web directory.
The document provides instructions for installing Apache 2.2.4, MySQL 5.0.45, and PHP 5.2.4 on a Windows system and configuring them to work together, including downloading and installing each component, configuring files like httpd.conf, and testing the installation is working properly by viewing a phpinfo.php page in a web browser. The instructions are presented over multiple pages with screenshots and detailed steps.
The document summarizes PHP, an open-source scripting language commonly used for web development. PHP can be embedded into HTML and is interpreted by web servers to create dynamic web pages. Key points covered include PHP's origins, popularity, uses, and how to install and configure it by placing PHP files on a web server and ensuring the server can parse the files. The document also provides links to tutorials on installing PHP and its dependencies.
This document discusses installing and configuring the XAMPP Apache distribution to set up a local web development environment. It then provides a tutorial to develop a simple address book program using PHP and MySQL. The tutorial covers installing XAMPP, writing a basic "Hello World" PHP program, creating a database and table, inserting sample data, and writing a PHP program to connect to the database and display the records in a web browser.
This document discusses installing and configuring the XAMPP Apache distribution to set up a local web development environment. It then provides a tutorial to develop a simple address book program using PHP and MySQL. The tutorial explains how to install XAMPP, write a basic "Hello World" PHP program, create a database and table, insert sample data, and output the data in a web page by connecting PHP to the MySQL database.
PHP is a widely-used scripting language for web development that is embedded into HTML. It runs on web servers and takes PHP code as input to create web pages as output. To use PHP for websites, you need PHP itself installed on a web server along with having a web browser. This document provides instructions on installing PHP and configuring it to work with an Apache web server on Linux. It describes downloading and extracting the PHP files, editing the configuration file php.ini, and restarting the web server for the changes to take effect.
The document outlines the steps to install Drupal on a CentOS server using LAMP including downloading and configuring Drupal, creating a MySQL database, setting file permissions, and testing that Drupal is installed correctly and accessible on the local network. It provides details on installing and configuring the operating system, Apache, PHP, and MySQL before walking through downloading and setting up Drupal on the server.
The document outlines the steps taken to install Drupal on a CentOS server using LAMP stack. It describes downloading and configuring the necessary software packages like Apache, PHP and MySQL. Details are provided on setting up the Drupal database, configuring permissions, and customizing the Drupal theme.
This document provides an introduction and overview of PHP. It begins by explaining that PHP is a server-side scripting language used for web development and interacting with databases. It then discusses prerequisites for understanding PHP and provides an introduction to basic PHP syntax and concepts like variables, data types, and embedding PHP code in HTML. The document concludes by explaining how to set up a PHP development environment and configure servers like Apache to run PHP code.
This document provides an introduction and overview of PHP. It begins by explaining that PHP is a server-side scripting language used for web development and interacting with databases. It then discusses prerequisites for understanding PHP and provides an introduction to basic PHP syntax and concepts like variables, data types, and embedding PHP code in HTML. The document concludes by explaining how to set up a PHP development environment and configure servers like Apache to run PHP code.
This document provides an introduction and overview of PHP (Hypertext Preprocessor), a popular open source scripting language used for web development. It discusses how PHP allows developers to create dynamic content that interacts with databases, its common uses like form handling and restricting user access, and its key characteristics like simplicity, efficiency and flexibility. The document then provides instructions on setting up a PHP development environment and includes examples of basic PHP syntax like comments, escaping tags and whitespace handling.
This document provides a tutorial on PHP (Hypertext Preprocessor), a programming language used for web development. It discusses:
- PHP allows developers to create dynamic content that interacts with databases. It is commonly used with MySQL.
- The tutorial is designed for programmers new to PHP concepts with basic computer programming skills.
- It provides an overview of PHP syntax and variable types, and how to set up a PHP development environment on different platforms like Linux, Windows, and MacOS.
This document provides instructions for installing Apache, MySQL, PHP, and Perl on Windows. It details downloading and installing each application, including accepting defaults, modifying directories during installation, and testing functionality. Configuration steps are also described, such as editing files to integrate Apache and PHP and enable MySQL support in PHP. The summary focuses on the core installation and configuration process across the applications.
The document provides step-by-step instructions for installing Apache, MySQL, PHP, and Perl on Windows. It details downloading and installing each program, including configuring settings and paths. Basic tests are outlined to check the installation of each component. Finally, a PHP script is provided that connects to a MySQL database to test the full setup.
The document provides step-by-step instructions for installing Apache, MySQL, PHP, and Perl on Windows. It details downloading and installing each program, including configuring settings and paths. Basic tests are outlined to check the installation of each component. Finally, a PHP script is presented that connects to a MySQL database to test the full installation.
The document provides step-by-step instructions for installing Apache, MySQL, PHP, and Perl on Windows. It details downloading and installing each program, including configuring settings and paths. Basic tests are outlined to check the installation of each component. Finally, a PHP script is presented that connects to a MySQL database to test the full installation.
Wamp & LAMP - Installation and ConfigurationChetan Soni
This document provides instructions for installing and configuring WAMP (Windows, Apache, MySQL, PHP) and LAMP (Linux, Apache, MySQL, PHP) servers on Windows and Linux respectively. For the WAMP installation, it describes downloading and installing Apache, PHP, MySQL, and configuring them to work together. It then tests the installation with sample PHP files. For the LAMP installation, it describes initial steps like installing gcc and logging in as root before explaining how to install Apache, PHP and MySQL from source code.
Apache is an open-source web server that is widely used due to its features, performance, and availability for free. The document provides instructions on how to install, configure, customize, and uninstall Apache on a Linux system. It describes downloading and extracting the Apache files, running the configuration script, editing the configuration file, starting the server, and testing it in a web browser. It also lists some common Apache modules and provides steps to stop and uninstall Apache if it is no longer needed.
This document provides instructions for installing and configuring Apache HTTP Server version 2.0 on Microsoft Windows operating systems. It explains that Apache 2.0 primarily supports Windows NT and recommends Windows NT SP6. It describes downloading the .msi installer binary, running the installer, and modifying configuration files for customization. The main differences when running Apache on Windows versus Unix include using threads instead of separate processes to handle requests, and using Windows filename conventions.
Similar to How to configure PHP with IIS or Apache on Windows (20)
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
How to configure PHP with IIS or Apache on Windows
1. Installing Apache on Windows
These instructions assume that you have never installed Apache on your computer before. The
most recent series, Apache 2.2, is not compatible with Windows versions of PHP earlier than
PHP 5.2.0. If you plan to use an earlier version of PHP, install Apache 2.0. The screenshots in
this section are based on Apache 2.0, but the installation procedure is identical for both Apache
2.2 and 2.0.
1. Go to http://httpd.apache.org/download.cgi and select the file marked Win32 Binary (MSI
Installer) for the Apache series that you want to install. If there’s no link to the Windows binary,
click other files, and then follow the links for binaries and win32.
2. A wizard takes you through the installation process. The only part that needs special attention
is the Server Information screen (see Figure 2-3), in which you enter the default settings for your
web server. In the Network Domain and Server Name fields, enter localhost; in the last field,
enter an email address. The localhost address tells Apache you will be using it on your own
computer. The email address does not need to be a genuine one; it has no bearing on the way the
program runs and is normally of relevance only on a live production server.
3. Select the option labeled for All Users, on Port 80, as a Service. Apache will run in the
background, and you don’t need to worry about starting it. Click Next.
4. In the remaining dialog boxes, leave the default options unchanged and click next. In the final
dialog box, click Install to finish the Apache installation.
5. The process is quite quick, but don’t be alarmed if you see a Command Prompt window open
and close several times. This is perfectly normal. If a software firewall is installed, you will
probably see a warning message asking you whether to block Apache. You must allow
communication with Apache. Otherwise it won’t work.
Figure 2-3. Filling out the Server Information dialog box during installation of Apache
6. After the program has been installed, open a browser and type http://localhost/ into the address
bar. If all has gone well, you should see the test page shown in Figure 2-4 (Apache 2.2 displays a
test page that simply says “It works!”).
7. If you get an error message, it probably means that the Apache server is not running. Start up
the server, as described in the next section, and try again. If you still get problems, check
2. C:Program FilesApache Software FoundationApache2.2 logserror.log or C:Program
FilesApache GroupApache2logserror.log. A common cause of failure is that another program,
such as Skype, is already using port 80. If that happens, move the other program to a different
port, or reinstall Apache, and select the Port 8080 option in step 3.
Figure 2-4. Confirmation that Apache 2.0 is running successfully on Windows
If you install Apache on port 8080, you need to start Apache manually and add a colon followed
by the port number after localhost, like this: http://localhost:8080/.
Starting and stopping Apache on Windows
Apache places a tiny icon in the tray or notification area at the right end of the Windows taskbar.
This is the Apache Service Monitor, which shows you whether Apache is running. If it’s
running, there is a green light. When Apache has stopped, the arrow turns to a red light.
Setting up PHP on Windows
The files for PHP come in two versions: a ZIP file for manual installation, and a Windows
installer. Up to PHP 5.1, the Windows installer offered an extremely limited setup and was not
recommended. But new Windows installer capable of automating the installation of a full
featured PHP setup on either Apache or IIS. The new installer is expected to be available from
PHP 5.2.0 onward. The following instructions show you how to install PHP manually from the
ZIP file. Although this takes a little longer, it has the advantage of not making any changes to
your Windows registry. The process involves four stages, as follows:
3. Downloading and configuring PHP
If you have an old installation of PHP, you must first remove any PHP-related files from your
main Windows folder (C:WINDOWS or C:WINNT, depending on your system) and the
system32 subfolder. Deleting the contents of the Windows system folders is not to be undertaken
lightly, so I suggest that you cut and paste them to a temporary folder. Then, if anything goes
wrong, you can easily restore them. The PHP files you need to remove are php.ini (in the main
Windows folder) and php4ts.dll or php5ts.dll in the system32 subfolder. You should also remove
any other PHP-related DLL files from the system32 subfolder. They are easy to recognize
because they all begin with php. If there’s a copy of libmysql.dll in your Windows system folder,
remove that, too.
1. Go to www.php.net/downloads.php and select the Windows binaries ZIP or source file for
the latest stable version of PHP. Even if your hosting company is running an older version of
PHP, I suggest downloading the latest version of PHP to avoid problems when you install
MySQL. If you want to configure PHP with IIS then download only non thread safe file and
if you to configure PHP with Apache then download only threat safe file. Choose one and
download the ZIP file to a temporary folder on your hard disk.
2. Unzip the contents of the ZIP file to a new folder called C:php. The php folder should contain
several other folders, as well as about 30 files.
The precise name or location of the folder isn’t important, but it makes sense to use php or phpx,
where x is the PHP version number. If you choose a location different from C:php, you need to
substitute the name of your new folder in all later steps. Don’t put the PHP files in a folder that
contains spaces in either its name or pathname, because it can create problems with Apache.
3. In the php folder, locate the file called php.ini-development, make a copy of it, and rename the
copy php.ini.
4. Open php.ini in any text editor. Notepad will do, but it’s better to use a script editor that
displays line numbers, because finding the relevant sections will be a lot easier.
5. Scroll down to the following lines in the Error Handling and Logging section (the wording
may differ slightly, but you should be able to find them by searching for error_reporting):
Notice how most lines begin with a semicolon. This indicates that they are comments and will be
ignored by Windows. Only the final line in the screenshot (indicated by a marker alongside the
number on line 292) begins without a semicolon, and this is the one you need to amend. Change
it so that it looks like this:
error_reporting = E_ALL
This sets error reporting to a higher level, which helps ensure your PHP is robust.
4. The line numbers and markers in the screenshots are generated by the script editor and are not
part of php.ini. Use the screenshots and line numbers in this section only as a general guide. The
contents of php.ini undergo constant revision, so your version may look slightly different. The
important thing is to use the settings recommended in the text.
6. Scroll down to the Paths and Directories section. Locate the following:
extension_dir = ". /"
Change it to
extension_dir = "C:phpext"
This is where PHP will look for any extensions. This assumes you extracted the PHP files to the
recommended location. If you chose a different one, change the path accordingly.
7. Scroll further down until you come to Dynamic Extensions. You will see a long list titled
Windows Extensions, all of them commented out. These extensions add extra features to the core
functionality of PHP. Locate the following (around line 569):
;extension=php_mbstring.dll
Enable the extension by removing the semicolon from the beginning of the line like this:
extension=php_mbstring.dll
This enables support for Unicode. Even if you never plan to use anything other than English, it’s
required to work with the latest versions of MySQL.
8. About eight lines further down, locate the following:
;extension=php_gd2.dll
Remove the semicolon from the beginning of the line. This will allow you to use PHP’s image
manipulation functions.
9. About 12 lines further down, locate the line containing php_mysql.dll. Remove the semicolon
from the beginning of both lines and amend the second line so they look like this:
extension=php_mysql.dll
extension=php_mysqli.dll
5. The line numbers and markers in the screenshots are generated by the script editor and are not
part of php.ini. Use the screenshots and line numbers in this section only as a general guide. The
contents of php.ini undergo constant revision, so your version may look slightly different. The
important thing is to use the settings recommended in the text.
10. Add the following lines immediately below those in the previous step:
extension=php_pdo.dll
extension=php_pdo_mysql.dll
The four lines in this step and the previous one enable all the MySQL-specific functions.
11. In the Module Settings section immediately following the list of extensions, look for the
code shown alongside. Change the line shown in the screenshot as line 623 to the name of the
SMTP server you normally use for sending email. If your email address is, for instance,
david@example.com, your outgoing address is most probably smtp.example.com. In that case,
you would change the line like this:
SMTP = smtp.example.com
Changes to the settings in this step and the following one are intended to make it possible to test
the mail application in Chapter 5 on your local computer. However, it won’t work if your ISP’s
SMTP server requires a username and password every time you connect (as happens with Gmail
and other webmail services). Also, some ISPs reject mail that comes from an unidentified
domain. In such circumstances, you will need to upload the files to your remote server to test
them.
12. Remove the semicolon from the beginning of the command shown on line 627, and put your
own email address in place of me@example.com:
sendmail_from = david@example.com
This puts your correct email address in the from: field of emails sent through PHP.
13. The final change you need to make to php.ini is considerably further down. Locate the
following:
;session.save_path = "/tmp"
Remove the semicolon from the beginning of the line, and change the setting in quotes to your
computer’s Temp folder. On most Windows computers, this will be
C:WINDOWSTemp:
session.save_path = "C:WINDOWSTemp"
14. Save php.ini, and close it. Leave it inside the C:php folder.
6. Adding PHP to your Windows startup procedure
The installation of PHP is complete, but you still need to tell Windows where to find all the
necessary files whenever you switch on your computer.
Changes to the settings in this step and the following one are intended to make it possible to test
the mail application on your local computer. However, it won’t work if your ISP’s SMTP server
requires a username and password every time you connect (as happens with Gmail and other
webmail services). Also, some ISPs reject mail that comes from an unidentified domain. In such
circumstances, you will need to upload the files to your remote server to test them.2
1. Open the Windows Control Panel (Start -> Settings -> Control Panel or Start -> Control
Panel). Double-click the System icon. Select the Advanced tab and click Environment Variables,
as shown in the following screenshot.
2. In the System variables pane at the bottom of the dialog box that opens, highlight Path as
shown and click Edit.
7. 3. A smaller dialog box opens. Click inside the Variable value field and move your cursor to the
end of the existing value. Type a semicolon followed by the name of the PHP folder you created
in step 2 of the previous section (;C:php). As shown in the screenshot, there should be no spaces
between the value just entered and the existing value or in the new pathname.
4. Click OK. With the Environment Variables dialog box still open, click New in the System
variables pane. Another small dialog box opens, in which you enter the details of the new system
variable. In the Variable name field, type PHPRC. In the Variable value field, enter the path of
the PHP folder (C:php).
5. Click OK to close all the dialog boxes. The next time you restart your computer, Windows
will know where to find all the necessary files to run PHP. However, before restarting your
computer, you still need to make some changes to your web server so that it knows how to
8. handle PHP files. If you are using Apache, continue with the next section. If you are using IIS,
skip ahead to the section titled “Configuring IIS to work with PHP.”
Configuring Apache to work with PHP
Now that all the configuration settings have been made for PHP, you need to make some
adjustments to the main configuration file for Apache.
1. The Apache configuration file httpd.conf is located in C:Program FilesApache Software
FoundationApache2.2conf (for Apache 2.0, it’s in C:Program Files Apache
GroupApache2conf). Use Windows Explorer to locate the file and open it in a script editor.
Like php.ini, httpd.conf is a very long file composed mainly of comments, which in this case can
be distinguished by a pound or hash sign (#) at the beginning of the line.
2. Scroll down until you find a long list of items that begin with Load Module (many of them
will be commented out). At the end of the list, add the following on a new line, (for Apache 2.2):
LoadModule php5_module c:/php/php5apache2_2.dll
If you are using Apache 2.0, this list is about 60 lines further down. Apache 2.0 uses a different
DLL file, so the command should look like this:
LoadModule php5_module c:/php/php5apache2.dll
3. Scroll down a bit further until you come to the following command (around line 214):
DirectoryIndex index.html This setting tells web servers what to display by default if a URL
doesn’t end with a filename, but contains only a folder name or the domain name (for instance,
www.friendsofed.com). Apache will choose the first available page from a space separated list.
The purpose of this book is to work with PHP, so add index.php.
DirectoryIndex index.html index.php
In Apache 2.0, includes index.html.var. Just add index.php at the end of the line as above.
4. Close to the end of httpd.conf, you’ll find a section that includes several commands that begin
with AddType. Add the following line in that section on a line of its own, as shown:
AddType application/x-httpd-php .php
6. Save and close httpd.conf.
7. You now need to restart your computer so that the changes made to the Windows PATH and
startup procedure can take effect. Apache should start automatically, unless you selected the
9. manual option earlier. If everything starts normally, skip ahead to the section titled “Testing PHP
on Windows.” If you see an error message, read on.
8. If there are any mistakes in httpd.conf, Apache will refuse to start. Depending on the version
you have installed, you might get a helpful message in a Command Prompt window that tells you
what the problem is and which line of httpd.conf it occurred on. Reopen httpd.conf and correct
the error (probably a typo). On the other hand, Windows might display a very unhelpful message
simply telling you that the operation has failed. Check the Apache error log (C:Program
FilesApache Software Foundation Apache2.2logserror.log or C:Program FilesApache
GroupApache2logs error.log) for clues about the problem. Alternatively, open a Command
Prompt window. Inside the Command Prompt window, change to the Apache program folder by
typing the following and pressing Enter: cd c:program filesapache software
foundationapache2.2bin For Apache 2.0, use this: cd c:program filesapache groupapache2bin
Then type this (followed by Enter): apache
The reason for the failure should appear onscreen, usually with a line number pinpointing the
problem in httpd.conf. After you correct httpd.conf, resave the file and restart Apache using the
Apache Service Monitor. Assuming everything goes OK this time, skip ahead to “Testing PHP
on Windows.”
If you type apache in the Command Prompt window and nothing appears to happen, it doesn’t
mean that Apache has hung. It indicates that Apache has started normally. However, while
Apache is running, it doesn’t return you to the command line; and if you close the window,
Apache will crash. To close Apache gracefully, open another Command Prompt window, change
the directory to the apache2.2bin or apache2bin folder, and type the following command:
apache -k shutdown You can then restart Apache using the Apache Service Monitor.
Configuring IIS to work with PHP
These instructions assume that you are familiar with IIS basics, and already have it installed and
running on your computer. You should also have completed the sections titled “Downloading
and configuring PHP” and “Adding PHP to your Windows startup procedure.”
1. Open the Internet Information Services panel (Start -> Control Panel -> Administrative Tools -
>Internet Information Services).
2. Expand the folder tree in the left panel, and highlight Default Web Site, as shown in the
screenshot. Right-click and select Properties from the context menu.
3. In the Default Web Site Properties dialog box, select the Home Directory tab, and set Execute
Permissions to Scripts only, as shown at the top of the next page. Then click Configuration.
10. 4. The Application Configuration dialog box opens. Select the Mappings tab, and click Add.
5. In the Add/Edit Application Extension Mapping dialog box that opens, enter the full path to
php5isapi.dll in the Executable field. If you used the default location for the PHP files
recommended earlier, this will be C:phpphp5isapi.dll. Enter .php in the Extension field. Don’t
forget the period at the front of the extension—this is very important. Make sure that Script
engine is checked, and leave the other settings unchanged. Click OK twice to return to the
Default Web Site Properties dialog box.
If you click the Browse button to navigate to the location of your PHP files in step 5, make sure
that the drop-down menu labeled Files of type at the bottom of the Open dialog box is set to
Dynamic Link libraries (*.dll) or All files (*.*). Otherwise, you won’t be able to locate the
correct file.
6. Select the Documents tab of the Default Web Site Properties dialog box, and click Add. In the
dialog box that opens, type index.php in the Default Document Name field, and click OK. Use
the up and down arrows to move index.php to the position you want in the list. IIS uses the list to
11. serve up a default document whenever you enter a URL in the browser address bar that doesn’t
include a filename (such as www.friendsofed.com). Make sure that Enable Default Document is
checked. When you have finished, click OK to close the Default Web Site Properties dialog box.
7. Before your changes can take effect, you need to restart IIS. Open the Services panel (Start ->
Control Panel -> Administrative Tools -> Services). Highlight IIS Admin, and click Restart the
service. Test PHP as described in the next section.
Testing PHP on Windows
Now comes the moment of truth: checking whether you have installed everything correctly. If
you have followed the instructions carefully, everything should be OK.
1. Open a script editor and type the following code into a blank file (there should be nothing else
in the page):
<?php phpinfo(); ?>
2. Save the file as index.php in your server root folder. If you have set up Apache as
recommended in this chapter, this is C:htdocs (create a new folder with that name, if you
haven’t already done so). If you are using IIS, save the file in C:Inetpubwwwroot.
3. Open a browser and type http://localhost/index.php in the address bar. (If your web server is
running on a nonstandard port, such as 8080, add a colon followed by the port number after
localhost, like this: http://localhost:8080/index.php.) You should see a page similar to the one
shown in Figure 2-5. Welcome to the world of PHP! The mass of information displayed by
index.php may appear overwhelming at the moment, but you should always display this page
whenever you need to find out anything about your PHP setup.
12. Figure 2-5. The phpinfo() command confirms that PHP is installed and displays useful
information about your setup.
Troubleshooting
Use the following checklist if you get error messages or fail to see the page shown in Figure 2-5:
Test an ordinary HTML web page in the same location. If both fail to display, check that your
web server is running. If just the PHP page fails to display, retrace your steps through the
sections on installing PHP. IIS doesn’t always recognize PHP after a simple restart, but rebooting
the computer usually does the trick. If you see an error message that the mysqli extension cannot
be loaded, this usually indicates that an old version of a file called libmysql.dll has been installed
in C:WINDOWSsystem32 by another program. Copy the version from C:php to
C:WINDOWSsystem32 and restart your web server.