What are the differences between PHP3 and PHP4 versions?



What are the differences between PHP3 and PHP4 versions?..

Answer / rakesh kumar nautiyal

PHP4 is a complete rewrite of PHP3 at the heart of the
language's engine. But why did the language's authors
decide to completely rewrite it?

The manner in which PHP3's scripting engine works is not
adapted to the execution of rich, large-scale applications
such as Phorum or KeyStone. Indeed, this engine reads PHP
script instructions line-by-line and then executes them one-
by-one, which enables PHP3 to obtain good performance with
short and simple scripts, but yields rather mediocre
performance with larger applications. It is important to
understand that PHP3 was not designed to execute such
applications.

It is for this reason that PHP3's two creators decided to
implement a scripting engine that would be capable of
reading all PHP code and "compiling" it before executing
it: Zend. This was not an easy task. Although
incompatibilities could be conceived at the time of
migration from PHP2 to PHP3, such differences had to be
limited as much as possible between PHP3 and PHP4 due to
the installed base and the number of PHP3 scripts already
in use. We can congratulate PHP4's authors on a job well
done because the incompatibilities that do exist are only
minor.

Although Zend is an integral part of PHP4, it is in fact a
scripting/runtime engine that is independent of the PHP
language. On this account, it is possible to use Zend in
MySQL as the basis for the development of a stored
procedure language specific to this database system.

Without going into the details of internal implementation,
we can point out a few things about the Zend/PHP4 couple.

PHP4's new architecture allowed its authors to add an
abstraction layer in relation to the Web server at the
heart of its language. Up until now with PHP3, we had the
choice between using it as a specific module for the Apache
server or in CGI mode for all other HTTP servers. With PHP4
it is now possible to imagine better integration with Web
servers other than Apache. In fact, this is the case for
Microsoft's HTTP server, IIS. PHP4 now works as an ISAPI
filter for Microsoft's IIS server. For this reason,
different parts of PHP4 code had to be made compliant with
use in a multi-thread environment (PHP4 is "thread-safe").

There are many new features concerning PHP4's internal
implementation, but they don't really concern PHP
programmers directly. Nonetheless, it is worth noting one
of the most important points: memory allocation and
reference counting mechanisms, in other words those
mechanisms that free up resources which were no longer
used, were completely rethought. Performance and memory use
are thus improved, especially for objects and tables. The
more data the variables contain, the more memory is saved.

Is This Answer Correct ?    12 Yes 1 No

Post New Answer

More PHP Interview Questions

What are the differences between Get and post methods in form submitting, give the case where we can use get and we can use post methods?

11 Answers   HCL, Rushmore Consultancy, Thursday Technology,


What is split function in php?

0 Answers  


Do you know what is the difference between mysql_fetch_object() and mysql_fetch_array()?

0 Answers  


What is an associative array?

0 Answers  


What is the empty function?

0 Answers  


How do I check environment variables?

0 Answers  


What is php7?

0 Answers  


Tell me how to initiate a session in php?

0 Answers  


How can we know the count/number of elements of an array?

1 Answers  


What is php ci?

0 Answers  


Explain how to execute a php script using command line.

0 Answers  


In how many ways we can retrieve the data in the result set of mysql using php?

0 Answers  


Categories