From PHP 0.0 to PHP 3.0
- • 1994 - Started writing CGI scripts in C and Perl
- • 1995 - Combined many CGI scripts into a smaller set of more generic binaries
- • June 8, 1995 - First official 1.0 release
From: rasmus@io.org (Rasmus Lerdorf)
Subject: Announce: Personal Home Page Tools (PHP Tools)
Date: 1995/06/08
Message-ID: <3r7pgp$aa1@ionews.io.org>#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: http://www.io.org/~rasmus
--
Rasmus Lerdorf
rasmus@io.org
http://www.io.org/~rasmus
- • September 18, 1995 Version 1.90: Wrote a "real" parser to improve tag replacement language
- • October 9, 1995 Version 1.91: Combined the FI (Form Interpreter) with the Tools to form a single binary
- • October 17, 1995 Version 1.92: First public release of PHP/FI
- • October 19, 1995 Version 1.93: Sample ChangeLog:
- • Changed msqlsethost() function name to msql_connect() to be consistent
- • Added multiple result cursors to mSQL support
- • Changed syntax of msql_result() function
- • Added msql_freeresult() function
- • Added msql_fieldname() function
- • Added msql_fieldtype() function
- • Added msql_fieldlen() function
- • Added msql_fieldflags() function
- • Added msql_numrows() function
- • Added msql_numfields() function
- • Updated demo_msql.html to reflect above changes
- • Fixed various minor things to get it to compile cleanly on SunOS4.1.3
- • Fixed msql library detection problem
- • Oct. 22, 1995 Version 1.94
- • Fixed numerical variable name bug in var.c
- • Fixed potential floating point exception core dump
- • Fixed Arithmetic snafu
- • Fixed unary minus bug
- • Fixed include command bug
- • Change in acc.c to convert domain name and e-mail address to lower case
before doing a match.
- • Change in file.c to look for given file relative to location of php binary
if file cannot be found relative to server's root_dir.
- • Change in file.c to force loading of either index.html or Overview.html if the
given path is a directory
- • Added guestbook to examples directory
- • Fixed day of week bug in date.c
- • Added support for brackets in conditional expressions
- • Fixed sort bug and made sort function type aware
- • Fixed bug in Exit() - I was closing a null fp in some cases
- • Fixed ?config problem related to matching on e-mail addresses
- • Added ability to edit entries in example guestbook
- • Added YYMAXDEPTH 50000 definition to parse.y to eliminate stack overflows in
older versions of bison
- • Added support for Tom Boutell's GD library
- • Added ImageCreate(), ImageDestroy(), ImageGif(), ImageSetPixel(), ImageLine(),
ImageRectangle(), ImageFilledRectangle(), ImageArc(), ImageFillToBorder(), ImageFill(),
ImageColorAllocate(), ImageColorTransparent(), ImageInterlace() functions
- • Added tempnam() function
- • Added unlink() function
- • Added rename() function
- • Added sleep() function
- • Added ?url to Location directive on external E-mail and Password forms
enabling people to write these external forms and use $argv[0] as the
form to go to once an e-mail address/password has been entered
- • Added the ability to specify an array variable in the exec() call to
store all lines of output from the given Unix command in
- • Fixed linenumber report inconsistency in error message when file had a while loop
- • Added Max() and Min() functions to return the maximum or minimum element of an array
- • Improved the docs/php.html documentation
- • Fixed bug in file...() functions
- • Added ImagePolygon() and ImageFilledPolygon() functions which take a
PHP array of x,y points as arguments
- • Changed msql_result() to ensure it never returned NULL
- • Changed echo command to not print an error if argument is NULL
- • Rewrote FixFilename function to allow ~username expansion. Also made
it chdir() to the directory where the current html file is located to
allow relative paths in the <IMG> tag. Also made it first try to
load index.html and then Overview.html if given filename is a directory.
- • Added PATH_DIR variable to be only the directory portion of PATH_INFO
- • Fixed potential bug in Exec()/System() functions
- • Optimized stat code to remove redundant calls
- • Added PHP_PUB_DIRNAME and PHP_ROOT_DIR configurable options to php.h
- • Added ImageChar(), ImageCharUp(), ImageString() and ImageStringUp() functions
- • Added survey.html example
- • Added traditional GET method support
- • Added explanation to php.html on how to propogate e-mail addresses using new GET
method support
- • November 1, 1995 Version 1.96: Highlight - 64-bit DEC Alpha fixes
- • November 7, 1995 Version 1.97: Multiple mSQL connection support
- • November 18, 1995 Version 1.98: Added += -= mktime(), file functions
- • December 8, 1995 Version 1.99: Added &= |= and GPL license
- • January 24, 1996 Version 1.99a: magic_quotes, file upload, usleep
- • February 5, 1996 Version 1.99b: Y2K bug fix, $$var support, initial ODBC work
- • February 12, 1996 Version 1.99c: Added @, lots of documentation
- • February 19, 1996 Version 1.99d: setlocale(), regression test system
- • March 6, 1996 Version 1.99e: NSAPI redirection module, socket and microtime funcs
- • March 8, 1996 Version 1.99f: msql_listtables(), msql_tablename()
- • March 18, 1996 Version 1.99g: reset(), end(), next(), key(), msql_listdbs()
- • March 26, 1996 Version 1.99h: Added register support to regular expression functions
- • April 2, 1996 Version 1.99i: Ouch! Non-code related bug. My hand broke.
- • April 10, 1996 Version 1.99j: User-defined functions added
- • April 10, 1996 Version 1.99k: Postgres95 support added
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: <URL:http://www.vex.net/php>
--
Rasmus Lerdorf
rasmus@vex.net
- • April 23, 1996 Version 1.99l: First Apache 1.1 Module Support
- • April 25, 1996 Version 1.99m: Make backward compatible with Apache 1.0
- • April 30, 1996 Version 1.99n: Added $PHP_SELF
- • May 7, 1996 Version 1.99o: Add curly brace support
- • May 11, 1996 Version 1.99p: All sorts of stack related memory management fixes
- • May 17, 1996 Version 1.99q: Added FastCGI support, popen(), eval()
- • May 22, 1996 Version 1.99r: Added feof(), fgetss()
- • May 31, 1996 Version 1.99s: Change from right to left recursion in parser
- • June 12, 1996 Version 2.0b1: SetCookie() and automated cookie handling added
- • June 13, 1996 Version 2.0b2: Fix cookie code to work with Apache 1.0
- • July 18, 1996 Version 2.0b3: Virtual(), link(), symlink(), rmdir()
- • August 7, 1996 Version 2.0b4: urldecode(), readlink(), linkinfo()
- • August 23, 1996 Version 2.0b5: PassThru(), ignore cr/lf's before first tag
- • September 10, 1996 Version 2.0b6: $argc,$argv support, StripSlashes(), AddSlashes()
- • September 22, 1996 Version 2.0b7: Apache 1.2 DSO support, ereg*() support
- • November 13, 1996 Version 2.0b8: parse_str(), # comments
- • December 5, 1996 Version 2.0b9: UniqId(), First Win95/NT support, Solid DB, mail(), mSQL 2.0
- • January 12, 1997 Version 2.0b10: Sybase support, MySQL support
- • April 23, 1997 Version 2.0b11: ReadFile(), SNMP, Safe Mode, and Stig added umask(), and Oracle support
- • June 16, 1997 Version 2.0b12: Lots of bug fixes
- • October 29, 1997 Version 3.0a1: First alpha release based on new parser from Zeev and Andi
- • November 6, 1997 Version 3.0a2: Migrate lots of stuff from PHP 2 to PHP 3
- • November 12, 1997 Version 2.0: Make parser understand <?...?> for forward compatibility with PHP 3
- • November 23, 1997 Version 3.0a3: $GLOBALS array, parse_url()
- • December 3, 1997 Version 3.0a4: // comments, Sybase-CT
- • December 8, 1997 Version 3.0b1: bc, auto_append/prepend
- • December 22, 1997 Version 3.0b2: single-quoted strings
- • January 9, 1998 Version 2.0.1: Bug fixes
- • January 17, 1998 Version 3.0b3: MySQL for Windows support
- • February 2, 1998 Version 3.0b4: Win32 fixes
- • February 24, 1998 Version 3.0b5: Concat operator changed from + to .
- • March 2, 1998 Version 3.0b6: IMAP extension
- • March 23, 1998 Version 3.0RC1: Raima DB, fhttpd support
- • March 30, 1998 Version 3.0RC2: number_format()
- • March 31, 1998 Version 3.0RC3: Apache DSO build mechanism
- • April 18, 1998 Version 3.0RC4: Apache API changes
- • May 23, 1998 Version 3.0RC5: MySQL fixes, strpos(), zlib extension, constants, GD-TTF support
- • June 6, 1998 Version 3.0: strrpos(), trim(), LDAP fixes
FOR IMMEDIATE RELEASE
PHP 3.0 RELEASED
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 http://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