devlephant / php4delphi

PHP to Delphi integration
Apache License 2.0
13 stars 2 forks source link
delphi php php-framework php5 php5-6 php53-compatible php54 php55 php56 windows

PHP4Delphi library

PHP - Delphi interface and PHP extensions development framework

{ $Id: readme.txt,v 7.4 07/2020 delphi32 Exp $ }

PHP4Delphi is a Delphi interface to PHP for Delphi {2009, ..., Rio}

PHP4Delphi consists of 3 big subprojects:

  1. PHP scripting (using PHP as a scripting language in Delphi applications)
    PHP4Delphi allows to execute the PHP scripts within the Delphi program using
    TpsvPHP component directly without a WebServer.
    It is a PHP extension that enables you to write client-side GUI applications.
    One of the goals behind it was to prove that PHP is a capable general-purpose scripting
    language that is suited for more than just Web applications.
    It is used by "Delphi for PHP" from CodeGear.

  2. PHP extensions development framework (using Delphi to extend PHP functionality)
    Visual Development Framework gives possibility to create custom PHP
    Extensions using Delphi.
    PHP extension, in the most basic of terms, is a set of instructions that is
    designed to add functionality to PHP.

  3. PHP4Applications (integrate PHP in any application)
    Supports C, C++, Visual Basic, VBA, C#, Delphi, Delphi .NET, Visual Basic .NET etc.

More detail information available in php4Delphi manual php4Delphi.pdf

This is a source-only release of php4Delphi.
It includes design-time and run-time packages for Delphi 2009 through Delphi Rio

Features

Prerequisites

Before using php4Delphi library:

If you have no PHP installed, you have to download and
install PHP separately. It is not included in the package.
You can download the latest version of PHP from
https://php.net/downloads/
or
https://windows.php.net/downloads/releases/archives/

ZEND API documentation available at http://www.zend.com
PHP API documentation available at http://www.php.net

You need to ensure that the dlls which php uses can be found.
php5ts.dll is always used. If you are using any php extension dlls then you
will need those as well.
To make sure that the dlls can be found, you can either copy them to the
system directory (e.g. winnt/system32 or windows/system).

Copy the file, php.ini-release to your php installation path
and rename it to php.ini. By default php is located in
%WINDOWS% or %SYSTEMROOT% directory:
c:\windows for Windows
c:\winnt or c:\winnt40 for NT/2000/XP servers

Building

Uninstall previous installed version of php4Delphi Library from Delphi IDE.
Remove previously compiled php4Delphi packages from your disk.

Select PHP version you are going to use. php4Delphi supports PHP 5.x,
but not at the same time - this behaviour is legacy, and therefore will be removed.
You have to compile php4Delphi for selected target version of PHP.

a) Edit PHPver.INC file.
Specify PHPver constant:
PHPver = 05604; // php 5.6.4 -> 05 6 04
b) Edit PHP.INC file.
Remove dot from preferred features

Use "File\Open..." menu item of Delphi IDE to open php4Delphi group
choose suitable group from /package directory;
In "Package..." window select php4DelphiR,
click "Compile" button to compile BPL.
Put compiled BPL file into directory that is accessible through the search PATH
("PATH" environment variable;
for example, in the Windows\System directory).

After compiling php4Delphi run-time package you must install design-time
package into the IDE.

In "Package..." window select php4DelphiD,
click "Compile" button to compile the package
and then click "Install" button to install php4Delphi components.

Credits

Since this is a freeware you are strongly encouraged to look
at the source code and improve on the components if you want to.
Of course we would appreciate if you create pull request with the
changes and bug fixes you have made.

For more information on the PHP Group and the PHP project,
please see http://www.php.net.

PHP4Delphi forum
http://sourceforge.net/forum/forum.php?forum_id=324242

Authors:

Serhiy Perevoznyk

Belgium
serge_perevoznyk@hotmail.com
http://users.telenet.be/ws36637
http://delphi32.blogspot.com

Lew Zienin
Ukraine
levzenin@pm.me

Nikita Ganzikov
Ukraine
pig-l@mail.ru