. Editors Only: News Stories Pictures Gems Shortcuts Discuss Prefs Admin Bulletins Logoff Help

PHP Everywhere Home

Home    Bio   
  My Prefs   Sign Out
  John Lim is logged in.


BODY: The PHP Symbolic Debugger
The Bike Odyssey Debugger Y (BODY - with applogies to Roy & HG) is a fully functional Symbolic Debugger for PHP that plugs a very big hole left by this popular OpenSource web development platform.

Discuss (Join / Login first) Edit   permalink: #  

ASP+ versus ASP
As you have read throughout this article, ASP+ has a few issues with doing things that ASP would handle normally. There are a lot of caveats to using ASP+, and you must do things a certain way if you wish to receive any benefits, which restricts your application greatly. On one hand, Microsoft has tried to let the developer do less manual coding, but has sacrificed flexibility for it.

Consequently, ASP+ is more difficult to manage and write, rather than easier, as its framers would have it. There are many "little things" that must be taken into account, and it is easy to see how beginners, and even ASP pros, will spend hours scratching their heads wondering why something so simple doesn't work.

In the end, it may become apparent that ASP and ASP+ must be used side by side for next generation web applications. ASP+ offers some great new features, though with hefty costs, and ASP will (hopefully) still be around to balance those costs and offer functionality that ASP+ cannot.

See Also:

btn: An Overview of ASP.NET

Discuss (Join / Login first) Edit   permalink: #  

Background Processing in PHP: using ticks
Today we talk about a previously undocumented feature in PHP, ticks.

Ok, basically, Zend engine has a feature where after execution of a certain number of statements (ticks) it can call another function. This ia all C API for now. What I've done is made that C function go through a list of PHP registered functions and call them one-by-one after the specified number of 'ticks' has been executed. -- Andrei Zmievski

Well the city slicker is back in town. Had a great time at the plantation, driving a 4 wheel drive through mud and flying wild chickens (they are lean and can fly very fast unlike the naked ones you see at the supermarket). Any adventures? Nearly fell out of a speeding jeep last night after imbibing an unhealthy quantity of wine - grabbed hold of the wildly swinging open door for dear life and survived.

Not easy running an estate. My friend the estate manager has to deal with drunks, gangster extortions, pilfering and union problems, and then worry about how to scientifically improve the yield of palm oil.

Discuss (Join / Login first) Edit   permalink: #  

Ide.php is a web-based editor (written in PHP!) for quick development of server-side code. It offers a rapid prototyping environment, letting the user test and save snippets of code with minimal overhead.

Really cool.

In other news, there is a new article on using CyberCash with PHP in PHPBuilder (on Christmas day!) Those people never seem to take a holiday.

I will be getting a life though. Will be gone for a few days to visit a friend's palm tree plantation and commune with jungle leeches and mosquitoes.

Discuss (Join / Login first) Edit   permalink: #  

PHP & Java
The Java extension is an extremely exciting tool. By learning how to use this module, you can extend PHP by the power of all available Java classes. To show you the basics of the Java extension, this article will cover installation and a few code examples of using PHP and Java together -- Mark Nold and Joost Soeterbroek

Discuss (Join / Login first) Edit   permalink: #  

PHP 4.0.4 Released
Change Log   Download

The PHP Group is pleased to announce the release of the fourth maintenance release of PHP 4.0.

The PHP Group has adopted extended procedures to improve the overall quality and reliability of the release process and the resulting software.

This release has undergone strict testing by our new QA team to ensure that this is the most stable release ever on all supported platforms. It includes improvements for a large number of defects and numerous enhancements in the PHP core, the language implementation and extensions.

The source distribution is immediately available, binary builds for Win32 are expected to follow later.

Discuss (Join / Login first) Edit   permalink: #  

Output buffering, and how it can change your life
Output buffering is, in my biased opinion, one of the neater features of PHP 4.0. Although fairly simple in concept, output buffering is a powerful feature that lets developers create advanced and efficient programs very easily. -- Zeev Suraski

Discuss (Join / Login first) Edit   permalink: #  

Infoworld: Open source databases establishing footholds
"Open source databases are emerging as viable alternatives to costly proprietary databases and, in so doing, are filling a key slot in the open source e-business development stack. "

Discuss (Join / Login first) Edit   permalink: #  

PostgreSQL: Taking E-Business Up a Notch
Postgres' latest version, 7.0, is close to clearing the final hurdles to widespread adoption by enterprise-level businesses. Its next iteration, 7.1, will likely propel it into a position that seriously threatens the reigning commercial giants.

Discuss (Join / Login first) Edit   permalink: #  

Optimize PHP 4: A Review of the Zend Optimizer
Anyone developing in PHP should at least try the Optimizer. It's quick and easy to install. You may get lucky with performance, and after all, it's free.

Test Optimizer Disabled Optimizer Enabled

Performance Increase

PHP 3 Array 12s 9s 25%
PHP 4 Array 43s 40s 9%
MD5 Encrypt 40s 36s 10%
D/B Dump 57s 46s 18%

Discuss (Join / Login first) Edit   permalink: #  

ADODB 0.90
ADODB is a database wrapper library that supports many databases, including MSSQL, MySQL, PostgresSQL, Interbase, ADO, ODBC, Oracle, Oci8, Sybase, Access, Visual FoxPro.

ADODB 0.90 is now available. I have had to make many changes in the internals because we are developing internal applications with ADODB and really exercising the code.

Many Changes:

tri: Added Sybase support. Yay! Contributed by Toni (ttunkka@suomi24.fi).

tri: Added adodb-session.php for PHP4 session support.

tri: I discovered that counting the number of records in a SELECT statement reduces performance for many databases. See http://php.net/manual/function.sybase-num-rows.php. So I added a new global variable $ADODB_COUNTREC. Set to false for high speed selects.

tri: Lots of testing of Microsoft ADO. Should be more stable now.

tri: Changed behaviour of RecordSet.GetMenu() to support size parameter (listbox) properly.

tri: Added emptyDate and emptyTimeStamp to RecordSet class that defines how to represent empty dates.

tri: Added MetaColumns($table) that returns an array of ADODBFieldObject's listing the columns of a table.

tri: Added transaction support for PostgresSQL; thanks to "Eric G. Werk" egw@netguide.dk.

Discuss (Join / Login first) Edit   permalink: #  

HOWTO: PHP as an Apache Module on Win32
Patrick Quinn-Graham was nice enough to email me this snippet.

I haven't tested it though. Let me know if you like it.

Discuss (1 response) (Join / Login first) Edit   permalink: #  

PHP4 Session Handler using ADODB
PHP4 is packed with good features. One of the most popular is session variables. These are variables that persist throughout a session, as the user moves from page to page. Session variables are great holders of state information and other useful stuff.

PHP4's session variables are stored in files by default. However for true scalability, it is better to store this data in a database using a database wrapper library like ADODB.

Discuss (1 response) (Join / Login first) Edit   permalink: #  

ODBC Socket Server for PHP
One machine will have the operating system of your choice, the web server of your choice and PHP on it. The other machine will have Windows, MS Access, and ODBC on it.

The socketserver on the Windows machine will look for connections on a TCP/IP port, PHP will generate XML commands and send them to the socket server. The socket server will then execute the SQL statements in the commands and pass another XML document back to PHP. Finally, PHP will parse the XML document and manipulate the resulting recordset.

By Tim Uckun

Discuss (Join / Login first) Edit   permalink: #  

Choosing the Right Hardware and OS for Web Serving
Improving mod_perl Driven Site's Performance -- Part I: Choosing Operating System and Hardware by Stas Bekman.

The article is equally applicable to PHP, ASP, JSP and whatever.

Discuss (Join / Login first) Edit   permalink: #  

Upgrading and Configuring PHP Applications
I've installed several PHP applications on our company's Web servers over the past few months. What I hate most is upgrades. I always forget to backup the configuration files first, and overwrite them during the installation.

So I had a brain-wave. Why not keep all configuration files in a standard directory: phpconfig. All config files used by an application, say ADODB, will be stored in phpconfig/ADODB/adodb-config.inc.php. Then when we upgrade the application directory, the config files are not modified.

To handle upgrades, we embed a version number as a global variable in each config file. When we run an application, we check the version number and alert the user to upgrade the config file if the version number is too low. I would suggest using a numeric variable such as $PHPCONFIG_VER.

To make it easy for all PHP applications to find the phpconfig directory, use this sort of directory structure:


Then App1 can access its config files using


Email me at jlim@natsoft.com.my if you have any comments about this idea. If any other developers would like to use this concept, let me know. I am planning to write some PHP code to support phpconfig. Open source of course.

Latest: Just rediscovered that relative paths don't work properly in PHP because all paths are relative to the current web page, not the current file PHP is parsing. Back to the drawing board...

Discuss (Join / Login first) Edit   permalink: #  

Learn Netscape 6's Document Object Model (DOM)
The above link is a tutorial on DOM for Netscape 6 that I found useful.

The Document Object Model (DOM) is an API and object model that describes all the HTML tags on a web page. DOM is used in conjunction with Javascript to create interactive Web pages. Internet Explorer has supported DOM since IE 4.0, but Netscape has only caught up recently with the release of Netscape 6.

Naively, I thought since my Javascript code already worked with Internet Explorer, it would port easily to Netscape 6 since both of them support the W3C Document Object Model.

Boy was I wrong. Yesterday I began to test my old Javascript code with Mozilla M18. I got so messed up with coding that I forgot to post a news item yesterday.

In IE, HTML objects are manipulated with document.all.[object]. In Netscape 6, you use the ugly document.getElementsByTagName('*').[object]. Some functions are totally different; other functions have the same name, but take different parameters in IE and Netscape 6. Uggh.

btn: Official DOM Specs from the World Wide Web Consortium (W3C).

Let's hope Netscape and Microsoft kiss and make up. Let's have standards that are really compatible!

Discuss (Join / Login first) Edit   permalink: #  

PHP Online Presentations
There are lots of great PHP tutorials and presentations on this web page. PHP.net is so huge that I only discovered these online seminars recently. Perhaps it's time PHP.net had a site map?

Discuss (Join / Login first) Edit   permalink: #  

ADODB 0.80
ADODB is a database wrapper library for PHP4 that supports a variety of databases.

-Added support for charSet for Interbase. Suggested by Hélio Silva helio@helio.com.br.

-Implemented MetaTables for most databases to list available tables.

-PostgreSQL is more stable. Thanks to all the testers who sent in reports.

Discuss (Join / Login first) Edit   permalink: #  

Nexidion Designer - IDE and Debugger for PHP
Nexidion Designer is an Integrated Development Environment (IDE) for web development on Linux. Although Designer is great for developing traditional static HTML pages, it is particularly targeted at dynamic web sites. This preview release contains the first fully interactive PHP debugger, allowing you to set breakpoints and step through your PHP code line by line, monitoring the values of any variable or expressions.

Discuss (Join / Login first) Edit   permalink: #  

PHP.Pirus - First PHP virus
[PHP.Pirus] is the first known virus to infect PHP files. PHP is becoming increasingly popular as a server side web site scripting language similar to Perl. Users browsing web sites are not at risk. It is a direct action infector of .php (other than itself) and .htm files in the current directory. Infection consists of appending to files a PHP script that will load and execute the virus. Thus infected files do not contain the virus itself, only a reference to it.

Discuss (Join / Login first) Edit   permalink: #  

It's an open-sourced ColdFusion-like language that many users have stated is easier to use than PHP. Really. Yes, PHP is a pain to learn. -- Dan Turner

PHP programmers tend not to like tag based languages such as ColdFusion or BlueSteel; some people say pa-tato, others say pata-to.

Discuss (Join / Login first) Edit   permalink: #  

Basic Installation of PHP on a Unix System
The configuration system that PHP uses for installation is one of those nice, simple things in life that makes it rosy. At first it might seem a little confusing, but it's really very easy. So let's dive right in. -- Darrell Brogdon

Discuss (Join / Login first) Edit   permalink: #  

phpShop: a PHP eCommerce Solution
phpShop has a web-based interface to store management screens for users, shoppers, products, attributes, orders and other features. Store building is extremely flexible by using PHP and custom phpShop classes. Functionality can be easily enhanced by developers using phpShop's module register. phpShop also has permission checking on all function calls and page displays to add user-based management of your site.

Discuss (Join / Login first) Edit   permalink: #  

Netscape Goes Bonkers
Way back in April, I wrote that Netscape made the "single worst strategic mistake that any software company can make" by deciding to rewrite their code from scratch. Lou Montulli, one of the 5 programming superstars who did the original version of Navigator, emailed me to say, "I agree completely, it's one of the major reasons I resigned from Netscape." This one decision cost Netscape 3 years. -- Joel on Software

Discuss (Join / Login first) Edit   permalink: #  

Freeware Port Scanners: Plug the Holes
A port is essentially an opening into your computer, and it can be hacked. Someone can infect your machine with a Trojan horse in this way, and that's only one of a host of distressing possibilities. If you open your computer to the outside world, you're vulnerable to attack -- period. Port-scanning software tests your network to determine which TCP ports are vulnerable to attack.

Discuss (Join / Login first) Edit   permalink: #  

Apache Toolbox for Linux
Bryan Andrew's Apache Toolbox is a Swiss army knife of a script, providing a customisable, menu-driven interface to ...

  • Apache - our favourite web server
  • SSL - Secure Sockets Layer for secure web server interactions
  • PHP, mod_perl, and mod_fastcgi - for speedy scripting language support
  • MySQL - the ubiquitous lightning fast database server
  • OpenLDAP, mod_auth_ldap, mod_auth_radius, mod_auth_pop3, mod_auth_sys and mod_accessref - various means of authentication and authorisation
  • WebDAV and mod_layout - for simple, yet powerful Web design functionality
  • mod_dynvhost, mod_throttle, mod_gzip, and mod_bandwidth - for efficient hosting and server control
  • And more! Apache Toolbox is customisable and has support (it's just a shell script after all) for anything else you'd care to plug in.

Apache Toolbox comes in two different flavours: a) just the script, which will download the various component sources as needed, or b) the full package, including the script and all required sources. The toolbox even catches RPM conflicts should they arise. -- Rael Dornfest, O'Reilly Network

Discuss (Join / Login first) Edit   permalink: #  

ADODB 0.70 Released
ADODB is a database wrapper library for PHP4 modelled on Microsoft's ADO. You are all urged to upgrade because of a bug in MoveNext(), which did not handle EOF properly.

--Calls by reference have been removed (call_time_pass_reference=Off) to ensure compatibility with future versions of PHP, except in Oracle 7 driver due to a bug in php_oracle.dll.

--PostgreSQL database driver contributed by Alberto Cerezal (acerezalp@dbnet.es).

--Oci8 driver for Oracle 8 contributed by George Fourlanos (fou@infomap.gr).

--Added mysqlt database driver to support MySQL 3.23 which has transaction support.

--Oracle default date format (DD-MON-YY) did not match ADODB default date format (which is YYYY-MM-DD). Use ALTER SESSION to force the default date.

--Error message checking is now included in test suite.

-- MoveNext() did not check EOF properly -- fixed.

Discuss (Join / Login first) Edit   permalink: #  

Groove should do wonders for peer-to-peer computing
Groove is hard to pigeonhole, because it has so many useful attributes. It's a collaboration tool for small groups of people who work at the edge of large enterprises -- the people who do the real work -- and across organizations. It's a tool for families and friends who want to communicate more easily and efficiently. It's instant-messaging on steroids. And that's just for starters. -- Dan Gillmor

btn: Interview with Jack Ozzie.

Discuss (1 response) (Join / Login first) Edit   permalink: #  

An Analysis of .NET by Sun
"The Java platform is an excellent technology that enjoys tremendous success. Rather than embracing the cross-platform, vendor neutral solution which is the Java platform, like most of the industry, Microsoft is still pushing a single platform, vendor specific solution. "

Discuss (Join / Login first) Edit   permalink: #  

Component Software: The Next Generation
Forget about .NET for the moment. The language neutrality that already exists in the Microsoft space (eg COM) is something that the Linux and open source worlds could really use -- article by Jon Udell.
In my opinion, Microsoft's great contribution to Computer Science was to realise that Object-Oriented Programming was overrated at a time when OOP was the rage, and that a simpler abstraction -- components -- was sufficient to develop one of the most successful software interfaces of all time: COM.

When I was younger I used to like powerful class libraries such as MacApp or Smalltalk's; but I have come to realise that a wonderful and complicated inheritance hierarchy can be too confusing.

Too much OOP means you have to learn too much to do too little.

-- John

Discuss (Join / Login first) Edit   permalink: #  

Unflattering PHP Review in eWeek
From the review:
ColdFusion is the most productive choice; JSP technology offers best growth path for enterprises...ASP and PHP did the job, but they weren't our first picks.

btn: Response by Ron Chmara

Discuss (Join / Login first) Edit   permalink: #  

Open Source Databases: As The Tables Turn
btn: A comparison of two databases, PostgreSQL 7.1 and MySQL 3.23 , of diabolical PHP experiments performed, and some strongly held opinions reversed. By Tim Purdue.

Discuss (Join / Login first) Edit   permalink: #  

Ten Good Deeds in Web Design
Are you doing your good deed for the day? Jakob Nielsen shows you how.

Discuss (Join / Login first) Edit   permalink: #  

Deep Inside C#
An Interview with Microsoft Chief Architect Anders Hejlsberg.

Anders Hejlsberg is one of the greatest programmers of all time. He is also known for having designed Turbo Pascal, one of the first languages available for PCs. Anders licensed Turbo Pascal to Borland and later led the team that created Delphi, a highly successful visual design tool for building client server applications

Discuss (Join / Login first) Edit   permalink: #  

ADODB 0.60 Released. Also Experimental PostgreSQL support.
ADODB 0.60 fixes some ODBC and ADO constructor bugs. Some Interbase debugging code removed.

Also in a separate download, we have PostgreSQL support, thanks to Alberto Cerezal. This is still experimental as I do not have access to a PostgreSQL database, so I cannot check for any problems in the source code.

Discuss (2 responses) (Join / Login first) Edit   permalink: #  

Windows 2000 not ready for web servers
Windows 2000 is not secure enough to use on internet connected servers, according to a senior security analyst at Gartner.

John Pescatore said that companies should wait until the end of next year before running the operating system on web servers.

"I would not recommend Windows 2000 for internet connected web servers today," he warned. "The operating system has a major increase in security over Windows NT but it is still just out of the box. It has a lot of embedded components that are not sufficiently tested."

See also Microsoft plays down second hacker attack.

Discuss (Join / Login first) Edit   permalink: #  

Graphing with PHP
Want to graph the daily visitors to your web site? Need to perform online reporting for your intranet? Here are some packages for graphing with PHP. Some require php_gd.dll.

VH Graph

Keywords: Chart Graph Charts Graphs

Discuss (Join / Login first) Edit   permalink: #  

What's wrong with Perl and XML?
Why isn't Perl, despite its widespread adoption for text processing (and especially for the HTML and CGI worlds), the language of choice for XML? -- Michel Rodriguez

I think the same thing is happening to PHP. Just substitute Perl with PHP and text processing with dynamic web pages.

Some PHP XML Articles

Parsing XML with PHP from Wireless Developer Network
PHP and XML: using expat functions from PHP Builder

Discuss (Join / Login first) Edit   permalink: #  

PHP4 HTTP Compression Speeds up the Web
Very nice code snippet by Sun Jin Hu.

Most newer browsers since 1998/1999 have been equipped to support the HTTP 1.1 standard known as "content-encoding." Essentially the browser indicates to the server that it can accept "content encoding" and if the server is capable it will then compress the data and transmit it. The browser decompresses it and then renders the page.

tri: Some of the theory behind this idea.

Discuss (Join / Login first) Edit   permalink: #  

PHP Weekly Summary: the future of PHP and Zend
Sebastian Bergmann posed an interesting question here Where do the developers see PHP and Zend headed in the future? "Application Server" was certainly the buzzword for this thread. For some particularly interesting posts, see:

- Kristian Khntopp 1
- Kristian Khntopp 2
- Ulf Wendel
- Ted Husted

From PHP Weekly Summary #7 by Avi Lewin. Avi would like you to email him your comments on where you see PHP headed for the next issue.

Discuss (Join / Login first) Edit   permalink: #  

An Open Letter From Bob Young, Red Hat CEO
The legacy software industry is built on the proprietary binary-only model where not only does the user not get the source code he needs to make changes, but worse he receives the product under a license that essentially says that if you make any improvements to the technology you are using, if you solve a bug that is causing your systems to crash, or add a feature that your users or customers desperately need the vendor can have you thrown in jail.

If Red Hat's CEO has to stoop to such sensationalism to sell Open Source, I am very saddened. If this is Red Hat leadership of the Open Source world, we don't need it.

Discuss (Join / Login first) Edit   permalink: #  

Zend at PHP congress
Have you ever seen the Kurosawa film Rashomon? Its a gorgeous black and white samurai film, a rape and murder trial retold multiple times through the view-points of four witnesses, each told so sincerely that at the end the viewer is thoroughly confused about what actually took place.

Well Zend has come up with it's own very positive version of what happened at the recent PHP Congress in Germany. Kristian Köhntopp has a different opinion.

Discuss (Join / Login first) Edit   permalink: #  

Measuring PHP, ASP, JSP and CFM Popularity
One of the nice features of the AltaVista and Northern Light search engines is that you can search for words in a URL using the syntax url:<word>, and it will give you a count of the number of pages found.

I thought of using this as a crude measure of the popularity of some popular web server technologies. For PHP, combine the url:php, url:phtml and url:php3 numbers.

btn: Lots of questions arise from the results. Very interesting.

Discuss (Join / Login first) Edit   permalink: #  

COM Functions in PHP4 (Windows)
The built-in COM functionality of PHP4 is quite attractive for some of us programming in the win32 environment. So far, there is not much documentation on the subject. This short article will explain how to use COM in real PHP4 programming with three examples using MS office 2000 Word and Excel programs and the Adobe Distiller program.

btn: A nice article at PHPBuilder by Alain Samoun, a regular visitor to this Web site.

Discuss (Join / Login first) Edit   permalink: #  

Internet Traffic Report
Your Internet surfing safari may be smooth today, but perhaps you can't reach Yahoo or a few web sites in Europe. This web site will tell you if those regions of the Internet are currently slowed down. By checking the Internet Traffic Report, you can determine if your problems are global or local.

The Internet Traffic Report monitors the flow of data around the world. It then displays a value between zero and 100. Higher values indicate faster and more reliable connections.

Discuss (Join / Login first) Edit   permalink: #  

First World-wide PHP Congress
Kristian Köhntopp wrote up a summary of the first worldwide congress on PHP, which was conducted in Cologne and ended on Friday. The beer was bad, the talk was good.

Discuss (Join / Login first) Edit   permalink: #  

Introducing IBuySpy
The IBuySpy ASP+ sample application was built to show how you can use the new Microsoft .NET frameworks and ASP+ development framework to build a full-featured e-commerce application. It offers all the functionality of typical shopping applications including product searches, shopping cart management, user login and registration, even the ability to view and edit your own product reviews.

btn: C# and Visual Basic.NET source code available.

Discuss (Join / Login first) Edit   permalink: #  

Fault Tolerant Database Connections
Suppose you have a main database server and a backup server. If the main server goes down, you need to auto-detect it and switch to the backup server. This tip originally by Michael Tanoviceanu tells you how to do that.

Discuss (Join / Login first) Edit   permalink: #  

Killing the Web?
The elegant simplicity of plain HTML is being shoved aside in favor of the increasingly complex XML scene -- John Dvorak

Discuss (Join / Login first) Edit   permalink: #  

Adoptez un éléPHPant !

Discuss (Join / Login first) Edit   permalink: #  

The Joel Test
1. Do you use source control? 
2. Can you make a build in one step?
3. Do you make daily builds? 
4. Do you have a bug database?
5. Do you fix bugs before writing new code? 
6. Do you have an up-to-date schedule? 
7. Do you have a spec? 
8. Do programmers have quiet working conditions? 
9. Do you use the best tools money can buy? 
10.Do you have testers? 
11.Do new candidates write code during their interview? 
12.Do you do hallway usability testing? 

btn: What's your score? I got an 8.

Discuss (Join / Login first) Edit   permalink: #  



tri: The site is back up again.

Discuss (Join / Login first) Edit   permalink: #  

Interview with IBM's Linux Strategist
So when somebody says, "I want to become a programmer, what operating systems platform should I learn?" the real question will be "What second operating system platform you should learn because if you don't know Linux, you don't know anything." You can learn AIX as a second language, or you can learn OS/390 as a second language, but Linux is your lingua franca that lets you talk to everybody -- Wladawsky-Berger.

btn: Thought provoking, but the analogy is flawed.

Discuss (Join / Login first) Edit   permalink: #  

J2EE Application Servers: Ready For Prime Time?
"As an ardent proponent of Java, I am somewhat distressed by the lack of maturity of these expensive Java products. I am sure that these products have many fine features, as I was eventually able to run the servlets, as advertised." By Robert Frantz at Byte.com.

btn: My opinion is that Java is vastly over-rated for Web services. PHP or ASP are better solutions for most Internet problems because it is easier to prototype and develop with either system. Java may be better for million line programs because of type-checking and better class support but this is not so useful for the shorter scripts Web developers write.

Discuss (Join / Login first) Edit   permalink: #  

Why and How I Installed PHP4, MySQL, and Apache on Win98
If you are a Windows user, learning Linux is like being parachuted into Italy without knowing Italian. You will be hopelessly and thoroughly lost at the UNIX prompt...Luckily, PHP, MySQL and Apache can also run on Windows (hence WAMP).

By Edward Tanguay and posted to Apache Today.

btn: Online Tutorial.

Discuss (Join / Login first) Edit   permalink: #  

Installing a new application is just as much fun as having a baby -- well maybe not so much fun, but nearly. You can't wait to try it out. Maybe it will crash your server! Maybe it will install a virus on your PC! Maybe it might even work!

Well my company has just installed another PHP application: WebCalendar. We are all excited because it works so well, and I'm the proud father.

WebCalendar is a multi-user calendar. It's easy to install and has a nice layer interface where you can superimpose several users calendars in one page. When you add an appointment for someone else, it will email that person automatically.

Simply superb! Simply PHP!

Discuss (Join / Login first) Edit   permalink: #  

Simulating Transactions with MySQL
Life doesn't have to be logical. We fall in love, get attached to someone, promise ever-lasting love, and then we break up. And the worst part is of course the breaking up.

It's the same with databases. We decide we like this database, so we store records into it. We promise ourselves that the database will hold our records for ever and ever, and then the database crashes; now we want to strangle the database server...

This is where transactions are better than real-life love. Transactions is a technology that ensure that if you have to update multiple tables and you crash midway, you can rollback the data to a consistent state just before the crash. Imagine doing that with your loved one!

MySQL is the most popular open source database on Earth. The current stable release, 3.22 does not support transactions, but with a little bit of intelligence and discipline, we can simulate transactions.

btn: Read this if you like MySQL!

Discuss (Join / Login first) Edit   permalink: #  

Open Source Editor Control Scintilla supports PHP
Imagine creating your own IDE, customised specificly for you. Too difficult? Not with Scintilla!

Scintilla is a very nice editing control available on Win32 and Unix (using GTK+). Supports syntax hiliting and code-completion for many languages, including PHP, Perl, C, C++, Java, Python, HTML. You can embed the control in your own application to create an IDE.

Discuss (Join / Login first) Edit   permalink: #  

Linuxmanship: Selling Linux HOWTO
"Always dress better than the customers" is the first rule of sales. However, you should only dress one step better. Customer wears jeans, you wear khakis. Customer wears khakis, you wear khakis with a jacket and tie. Customer wears jacket and tie, you wear a suit. Customer wears suit, you wear a little better suit. Not hard.

btn: Very interesting article by Donald Marti Jnr.

Discuss (Join / Login first) Edit   permalink: #  

I get flamed for saying PHP is better
"That's rubbish. If you really have a profound business and you are open minded, you will use languages, tools, DBs, and servers that have been built with business in mind, not with science or hobby stuff." -- Jennifer Sue.

btn: My Response.

Discuss (Join / Login first) Edit   permalink: #  

Microsoft SQL Server 7 from PHP on Linux
Another fine cross-platform PHP article on PHPBuilder by Alberto Dainotti, an intellectual looking italian. Good work!

Discuss (Join / Login first) Edit   permalink: #  

7 Reasons Why PHP is Better than ASP
7 technical reasons why PHP is better. Starting with 1. speed, speed, speed...

Discuss (Join / Login first) Edit   permalink: #  

Sun Acquires Cobalt Networks
I have a friend who is the local Cobalt distributor. What happens next for him?

Cobalt is one of the few companies promoting Active Server Pages running on Linux using their Chilisoft subsidiary's technology. Will the Sun acquisition change this?

And Sun has always promoted Solaris over Linux. Is this going to change?

Discuss (Join / Login first) Edit   permalink: #  

How To Write Unmaintainable Code
Never ascribe to malice, that which can be explained by incompetence.

Discuss (Join / Login first) Edit   permalink: #  

ZDNet: Opening a few Windows with PHP
A nice introductory cross-platform PHP article by Julie Meloni.

Discuss (Join / Login first) Edit   permalink: #  

It's a Wiki Wiki PHP
I like this. It's fun.

Discuss (Join / Login first) Edit   permalink: #  

Religion Belongs in the Church
Do any of the following skirmishes sound familiar?

  • Windows vs. Linux
  • Delphi vs. Visual Basic
  • vi vs. emacs
  • Proprietary software vs. Open Source
  • KDE vs. GNOME
  • Oracle vs. SQL Server

In some cases, these arguments arise as natural consequences of business competition. However, we cross the line into religion when our advocacy is more closely linked to our own preferences than to our business requirements.

btn: I might also add PHP vs. ASP to the above list. Erik Sink gets an Ave Maria for his thoughts.

Discuss (Join / Login first) Edit   permalink: #  

Send a PHP Web Card to a Friend

Discuss (Join / Login first) Edit   permalink: #  

The Scoop on PHP
Want a Cure For the ASP Blues? Delve Into the Dynamic Web With This Popular Scripting Language. By Craig Knudsen.

Highly recommended to people who are just beginning PHP.

When you finish reading the article and start PHP'ing, I predict you will grow up big and bright, like the boy below:

Discuss (Join / Login first) Edit   permalink: #  

Mail Someone With PHP
Sending email is a lot of fun. it's easy to send emails with PHP too. Read this quick guide to get started. Cheers!

Discuss (Join / Login first) Edit   permalink: #  

How is ASP+ different from ASP
Picasso once said, talent borrows, genius steals. So it's always good to know what Microsoft is planning; they have some good ideas too. Here's a recent article from ASPToday about the next generation of ASP.

"While the concept of having HTML elements that execute on the server may at first seem a little strange, as you'll see it adds a whole new layer of functionality to the pages, and makes them easier to write at the same time. What more could a programmer want?"

Discuss (Join / Login first) Edit   permalink: #  

STOP THAT! Double-clicking the submit button is illegal
Have you ever had to fill out a form, pressed the submit button once, wait a while, then pressed again out of impatience because nothing has happened. Then you find out that you have been billed twice for the same item...

Well this hot tip (click on link above) shows you how to handle this problem. Javascript required.

btn: Steve Moffat and Monte Ohrt get a sexy batgirl icon for the tip.

Discuss (5 responses) (Join / Login first) Edit   permalink: #  

Microsoft Linux Shipping in November 2001

Microsoft Linux provides all the power of the Linux Operating System with the ease of use you've come to expect from Microsoft Products.

Microsoft Linux brings a new level of productivity to Linux, without sacrificing flexibility, performance, and control. In addition to features like My Home Directory and My Configuration, Microsoft Linux contains greatly improved support for Web and Enterprise development.

With Microsoft Linux Enterprise Edition, you can create scalable multi-tier applications using our new Graphical User Interface command-Line Technology (GUILT)?. Extend your productivity with optimized support for Internet Active-XWindows? Technology and built-in Internet Xplorer web browser.

btn: Visit http://www.mslinux.org/ now!

Discuss (Join / Login first) Edit   permalink: #  

MySQL wins Database Benchmark
Just benchmarked MySQL, Microsoft SQL 7, Microsoft Access and Visual FoxPro with PHP using the ADODB library. Read more about the results in the above link.

btn: ADODB version 0.20 is also out. This implements Microsoft's ADO, which allows DSN-less connections.

btn: Also updated the ODBC article to reflect ADODB improvements. Now has an example of DSN-less connections using ADODB.

Discuss (Join / Login first) Edit   permalink: #  

MySQL on Windows, where are you?
For some reason, the latest stable version of MySQL for Windows cannot be found at http://www.mysql.com/ Is something happening at MySQL AB that I don't know about?

If you want to test MySQL for Windows out, you can still download it here. Note that this is a shareware version.

I have done some benchmarks using ADODB and the speed of MySQL is fantastic. Twice as fast as Microsoft Access, and 50% faster than MS SQL 7 for a select statement retrieving 50 rows. The only database which was competitive speed-wise was -- surprise-surprise -- Visual FoxPro. That's the reason why my company still uses FoxPro for a lot of applications.

Of course this was a lazy test because all the tests were done on my Win98 PC which had the webserver, all the databases, and IE5 running concurrently.

Discuss (1 response) (Join / Login first) Edit   permalink: #  

An Introduction to Apache 2.0
Not a new article, but a good one on the next generation of Apache; definitely worth rereading.

btn: You can download the latest version of Apache 2.0 at http://www.apache.org/dist/ Be warned that it is still alpha software.

Discuss (Join / Login first) Edit   permalink: #  

PHP class to control Microsoft Excel
Excellent! People are actually using COM with PHP4 for real work.

This PHP4 class uses the COM extension of PHP to access some of the functionalities of Excel 2000. The class has been tested with PHP4.02 running as cgi with Apache 1.3.9 on Win98.

Developed by alain@samoun.com (GPL license).

Discuss (Join / Login first) Edit   permalink: #  

Top 21 PHP Progamming Mistakes?
Zend.com is publishing a set of articles on the top 21 PHP programming mistakes. I'm sad to say that many of the programming mistakes are a matter of opinion, and not substance.

The main point that annoys me is Serious Mistake No. 9: Programming PHP Like It Was Some Other Language. Well I'm sorry but I disagree.

This website is all about cross-platform PHP and being open and trying things out. I may not like Perl, but I support Larry Wall's idea that there can be many legitimate ways to solve a problem.

If I was a German and I spoke bad English, it's not a serious mistake. If I program PHP in a certain style it is not a mistake either -- it's my preference so that all my code follows a consistent style, no matter what language I use (I have programmed in PHP, C/C++, Javascript, VBScript, PERL, Python, FoxPro, and several obscure scripting languages in the last 6 months).

If I had a group of ASP programmers who recently converted to PHP, I would gladly tell them to program PHP in VBScript style if it meant that they stayed converted to PHP!

I don't think there will be such a thing as pure PHP soon. The number of PHP users is growing so fast that PHP can now support multiple paradigms. Personal Home Page. PHP Hypertext Processor. Object Oriented PHP. PHP shell scripting language. PHP as an embedded language for MySQL. The list grows.

Let's be open and grow too.

Discuss (Join / Login first) Edit   permalink: #  

Document Your PHP Functions Quickly
btn: I love this tip from Dustin Schneider (click on the link above). He has written a neat function that will read special tags in your PHP files and convert your comments into documentation.

Some people like me :-) would have written a boring 10 page article. Dustin keeps it short and sweet and gets a Brigitte Bardot icon.

Discuss (3 responses) (Join / Login first) Edit   permalink: #  

ADODB Database Library Released
PHP's database access functions are not standardised. This creates a need for a database class library to hide the differences between the different databases (encapsulate the differences) so we can easily switch databases.

Before you say oh no, not another one, please read about the unique features of this class library.

We currently support MySQL, MS SQL 7, Foxpro, Access, and generic ODBC. We hope more people will contribute drivers to support other databases.

btn: This is an Open Source software release.

Discuss (Join / Login first) Edit   permalink: #  

PHP 4.02 Bugs appearing
btn: Seems that there are bugs in the XML handling.

btn: I also found a bug in Windows. PHP treats ~ (tilde) as an illegal file character in PHP.INI, session.save_path. I presume other file handling code could have the same bug, but I have not tried it yet.

Discuss (Join / Login first) Edit   permalink: #  

PHP 4.02 EasyWindows Installer available.
btn: PHP's windows installation procedure is a real pain. This installer automates 90% of the manual labour. Get it now.

Discuss (Join / Login first) Edit   permalink: #  

Get your site hosted using Manila!
Free Software
A high quality database library:
ADOdb 4.22   download
New Netezza, LDAP and odbtp_unicode drivers.
ADOdb for Python
ADOdb Help & Dev Forum

ADOdb Documentation:
  - English
  - Francais
  - Korean
  - English
  - Chinese
  - German
  - Italian
  - Polish
  - Russian
  - Spanish
  - Thai

3rd Party Tutorials:
  - MelonFire Part 1
  - MelonFire Part 2
  - PHPFreaks
  - Database Journal Part 1
  - Database Journal Part 2


ADOdb Articles:
  - PHP4 Sessions with ADOdb
  - Cool ADOdb applications
  - ADOdb testimonials
  - Comparing PEAR DB and ADOdb
  - Writing Portable SQL
  - Web Services with ADOdb
  - ADOdb date library

-Commercial data component: phpLens

Our RSS Newsfeed
PHP Advocacy
Michael Kimsal
Zeev Suraski

-Comparing PHP with .NET
-PHP versus ASP
-Why PHP is better than ASP
-PHP versus Cold Fusion
-PHP versus Perl
-What's wrong with JSP?
-PHP,ASP,JSP,CFM Popularity
-PHP Humor

Enterprise PHP
-Enterprise PHP scalable, high availability
-Writing Reliable Software
-PHP Application Variables
-Sessions in a Server Farm with ADOdb
-PHP, FastCGI and IIS

-Optimizing PHP: tips, methodologies and examples.
-Tuning PHP and Apache: many tips and links.

PHP Articles
-PEAR Tutorials & Links
-PHP Windows/Unix Editors
-PHP Caches & Debuggers

-XML-RPC Web Services
-ActiveX on Linux
-GD on Windows
-Using mail()

Some notes comparing PHP, JScript, VBScript and ASP that might be useful
1. Language Basics
2. Functions, Classes
3. ASP Objects and PHP

-My Favorite Articles
-CVS on Windows

PHP and SQL Databases
-SQL Tutorials & Resources
-Transactions in MySQL
-Flying with MySQL & Oracle
-Object-Relational Mania
-MySQL vs MSSQL vs Access
- also see ADODB above.

Apache and IIS
-Unix Performance Analysis
-Securing Apache on Linux
-Porting Apache to IIS
-Windows Apache & PHP

-Var_Dump & Print_R
-Prevent Caching
-E-mail Your Errors
-Disable magic_quotes_gpc
-Stop Submitting Twice
-Document Code Quickly
-Fault Tolerant Connections
-HTTP Compression
-XML DOM for Windows

PHP.Net Home Manual Bugs
Writing a PHP Extension
Zend.com: PHP Portal
PHPBuilder.com: Articles
HotScripts Code Snippets
PHP Resource Index
PHP Source Code ChangeLog

Evil Walrus
phpinfo.net: French e
phpitalia.com: Italian e
phparchiv.de: German
php-resource: German e
PHP-Center.de: German e
phpuser.com: Chinese
hot PHP Web Cards
Cool Javascripts
More Links

Learn PHP
Forums Ask for HELP here!
or try the KnowledgeBase

Good Intro to PHP
PHP Overview by Rasmus
Intro to PHP

Regular Expressions Intro   txt2regex
Advanced Reg. Expressions
Database Readings PalsLib

Bad Blue: Web Server
phpBB: Excellent Forum
ASP2PHP: Converts VB to PHP.
Web Calendar Nice

-My Favorite Articles

PHP4.0.4 Installer
php_gd.dll with GIF

Put the following ADODB logo on your website if you like!

John Lim Malaysia Natsoft Juris Legalpro iJuris mydevotion Tips Juris LensServer Ormes Technologies.

All original materials (c) 2000-2004 John Lim