Đây là PHP1. 0 đã được đăng lên nhóm tin Usenet [comp. hệ thống thông tin. www. tác giả. cgi] vào tháng 6 năm 1995
From: rasmus@io.org [Rasmus Lerdorf] Subject: Announce: Personal Home Page Tools [PHP Tools] Date: 1995/06/08 Message-ID: #1/1 organization: none newsgroups: comp.infosystems.www.authoring.cgi Announcing the Personal Home Page Tools [PHP Tools] version 1.0. These tools are a set of small tight cgi binaries written in C. They perform a number of functions including: . Logging accesses to your pages in your own private log files . Real-time viewing of log information . Providing a nice interface to this log information . Displaying last access information right on your pages . Full daily and total access counters . Banning access to users based on their domain . Password protecting pages based on users' domains . Tracking accesses ** based on users' e-mail addresses ** . Tracking referring URL's - HTTP_REFERER support . Performing server-side includes without needing server support for it . Ability to not log accesses from certain domains [ie. your own] . Easily create and display forms . Ability to use form information in following documents Here is what you don't need to use these tools: . You do not need root access - install in your ~/public_html dir . You do not need server-side includes enabled in your server . You do not need access to Perl or Tcl or any other script interpreter . You do not need access to the httpd log files The only requirement for these tools to work is that you have the ability to execute your own cgi programs. Ask your system administrator if you are not sure what this means. The tools also allow you to implement a guestbook or any other form that needs to write information and display it to users later in about 2 minutes. The tools are in the public domain distributed under the GNU Public License. Yes, that means they are free! For a complete demonstration of these tools, point your browser at: //www.io.org/~rasmus -- Rasmus Lerdorf rasmus@io.org //www.io.org/~rasmus
Lưu ý rằng URL và địa chỉ email được hiển thị trong thông báo này đã biến mất từ lâu. Ngôn ngữ của thông báo này phản ánh những lo ngại mà mọi người có vào thời điểm đó, chẳng hạn như các trang bảo vệ bằng mật khẩu, dễ dàng tạo biểu mẫu và truy cập dữ liệu biểu mẫu trên các trang tiếp theo. Thông báo cũng minh họa định vị ban đầu của PHP như một khuôn khổ cho một số công cụ hữu ích
Thông báo chỉ nói về các công cụ đi kèm với PHP, nhưng đằng sau hậu trường, mục tiêu là tạo ra một khung để dễ dàng mở rộng PHP và thêm nhiều công cụ hơn. Logic nghiệp vụ cho các tiện ích bổ sung này được viết bằng C; . Nó chưa bao giờ thực sự là một phần của kế hoạch tạo ra một ngôn ngữ kịch bản
Vậy chuyện gì đã xảy ra?
Rasmus bắt đầu thực hiện một dự án khá lớn cho Đại học Toronto, dự án này cần một công cụ để thu thập dữ liệu từ nhiều nơi khác nhau và trình bày một giao diện quản trị dựa trên web đẹp mắt. Tất nhiên, anh ấy đã sử dụng PHP cho nhiệm vụ, nhưng vì lý do hiệu suất, các công cụ nhỏ khác nhau của PHP 1. 0 phải được kết hợp tốt hơn và tích hợp vào máy chủ web
Ban đầu, một số vụ tấn công vào máy chủ web NCSA đã được thực hiện để vá nó nhằm hỗ trợ chức năng PHP cốt lõi. Vấn đề với phương pháp này là với tư cách là người dùng, bạn phải thay thế phần mềm máy chủ web của mình bằng phiên bản hack-up đặc biệt này. May mắn thay, Apache cũng bắt đầu đạt được đà phát triển trong khoảng thời gian này và API của Apache đã giúp việc thêm chức năng như PHP vào máy chủ trở nên dễ dàng hơn
Trong khoảng một năm tới, rất nhiều việc đã được thực hiện và trọng tâm đã thay đổi khá nhiều. Đây là PHP 2. 0 [PHP/FI] được gửi vào tháng 4 năm 1996
From: rasmus@madhaus.utcs.utoronto.ca [Rasmus Lerdorf] Subject: ANNOUNCE: PHP/FI Server-side HTML-Embedded Scripting Language Date: 1996/04/16 Newsgroups: comp.infosystems.www.authoring.cgi PHP/FI is a server-side HTML embedded scripting language. It has built-in access logging and access restriction features and also support for embedded SQL queries to mSQL and/or Postgres95 backend databases. It is most likely the fastest and simplest tool available for creating database-enabled web sites. It will work with any UNIX-based web server on every UNIX flavour out there. The package is completely free of charge for all uses including commercial. Feature List: . Access Logging Log every hit to your pages in either a dbm or an mSQL database. Having hit information in a database format makes later analysis easier. . Access Restriction Password protect your pages, or restrict access based on the refering URL plus many other options. . mSQL Support Embed mSQL queries right in your HTML source files . Postgres95 Support Embed Postgres95 queries right in your HTML source files . DBM Support DB, DBM, NDBM and GDBM are all supported . RFC-1867 File Upload Support Create file upload forms . Variables, Arrays, Associative Arrays . User-Defined Functions with static variables + recursion . Conditionals and While loops Writing conditional dynamic web pages could not be easier than with the PHP/FI conditionals and looping support . Extended Regular Expressions Powerful string manipulation support through full regexp support . Raw HTTP Header Control Lets you send customized HTTP headers to the browser for advanced features such as cookies. . Dynamic GIF Image Creation Thomas Boutell's GD library is supported through an easy-to-use set of tags. It can be downloaded from the File Archive at: -- Rasmus Lerdorf rasmus@vex.net
Đây là lần đầu tiên thuật ngữ ngôn ngữ kịch bản được sử dụng. PHP1. 0, mã thay thế thẻ đơn giản của 0 đã được thay thế bằng trình phân tích cú pháp có thể xử lý ngôn ngữ thẻ được nhúng phức tạp hơn. Theo tiêu chuẩn ngày nay, ngôn ngữ thẻ không đặc biệt phức tạp, nhưng so với PHP 1. 0 nó chắc chắn là
Lý do chính cho sự thay đổi này là ít người sử dụng PHP 1. 0 thực sự quan tâm đến việc sử dụng khung dựa trên C để tạo tiện ích bổ sung. Hầu hết người dùng quan tâm nhiều hơn đến việc có thể nhúng logic trực tiếp vào các trang web của họ để tạo HTML có điều kiện, thẻ tùy chỉnh và các tính năng tương tự khác. PHP1. 0 người dùng liên tục yêu cầu khả năng thêm chân trang theo dõi lượt truy cập hoặc gửi các khối HTML khác nhau theo điều kiện. Điều này dẫn đến việc tạo ra một thẻ if
. Khi bạn có if
, bạn cũng cần có else
, và từ đó, đó là một con dốc trơn trượt đến mức, dù muốn hay không, bạn sẽ phải viết toàn bộ ngôn ngữ kịch bản
Đến giữa năm 1997, PHP phiên bản 2. 0 đã phát triển khá nhiều và đã thu hút được rất nhiều người dùng, nhưng vẫn còn một số vấn đề về độ ổn định với công cụ phân tích cú pháp cơ bản. Dự án vẫn chủ yếu là nỗ lực của một người, với một vài đóng góp ở đây và ở đó. Tại thời điểm này, Zeev Suraski và Andi Gutmans ở Tel Aviv, Israel, đã tình nguyện viết lại công cụ phân tích cơ bản và chúng tôi đã đồng ý để họ viết lại cơ sở cho phiên bản PHP 3. 0. Những người khác cũng tình nguyện làm việc trên các phần khác của PHP và dự án đã thay đổi từ nỗ lực của một người với một vài người đóng góp thành một dự án nguồn mở thực sự với nhiều nhà phát triển trên khắp thế giới
Đây là PHP3. 0 thông báo từ tháng 6 năm 1998
June 6, 1998 -- The PHP Development Team announced the release of PHP 3.0, the latest release of the server-side scripting solution already in use on over 70,000 World Wide Web sites. This all-new version of the popular scripting language includes support for all major operating systems [Windows 95/NT, most versions of Unix, and Macintosh] and web servers [including Apache, Netscape servers, WebSite Pro, and Microsoft Internet Information Server]. PHP 3.0 also supports a wide range of databases, including Oracle, Sybase, Solid, MySQ, mSQL, and PostgreSQL, as well as ODBC data sources. New features include persistent database connections, support for the SNMP and IMAP protocols, and a revamped C API for extending the language with new features. "PHP is a very programmer-friendly scripting language suitable for people with little or no programming experience as well as the seasoned web developer who needs to get things done quickly. The best thing about PHP is that you get results quickly," said Rasmus Lerdorf, one of the developers of the language. "Version 3 provides a much more powerful, reliable, and efficient implementation of the language, while maintaining the ease of use and rapid development that were the key to PHP's success in the past," added Andi Gutmans, one of the implementors of the new language core. "At Circle Net we have found PHP to be the most robust platform for rapid web-based application development available today," said Troy Cobb, Chief Technology Officer at Circle Net, Inc. "Our use of PHP has cut our development time in half, and more than doubled our client satisfaction. PHP has enabled us to provide database-driven dynamic solutions which perform at phenomenal speeds." PHP 3.0 is available for free download in source form and binaries for several platforms at //www.php.net/. The PHP Development Team is an international group of programmers who lead the open development of PHP and related projects. For more information, the PHP Development Team can be contacted at core@php.net.
Sau khi phát hành PHP 3. 0, việc sử dụng thực sự bắt đầu cất cánh. Phiên bản 4. 0 được thúc đẩy bởi một số nhà phát triển, những người quan tâm đến việc thực hiện một số thay đổi cơ bản đối với kiến trúc của PHP. Những thay đổi này bao gồm trừu tượng hóa lớp giữa ngôn ngữ và máy chủ web, thêm cơ chế an toàn luồng và thêm hệ thống phân tích cú pháp/thực thi thẻ hai giai đoạn nâng cao hơn. Trình phân tích cú pháp mới này, chủ yếu được viết bởi Zeev và Andi, được đặt tên là công cụ Zend. Sau rất nhiều nỗ lực của rất nhiều nhà phát triển, PHP 4. 0 được phát hành vào ngày 22 tháng 5 năm 2000
Khi cuốn sách này được xuất bản, phiên bản PHP 7. 3 đã được phát hành trong một thời gian. Đã có một vài bản phát hành "chấm" nhỏ và tính ổn định của phiên bản hiện tại này khá cao. Như bạn sẽ thấy trong cuốn sách này, đã có một số tiến bộ lớn được thực hiện trong phiên bản PHP này, chủ yếu là trong quá trình xử lý mã ở phía máy chủ. Nhiều thay đổi nhỏ khác, bổ sung chức năng và cải tiến tính năng cũng đã được tích hợp