@@ -8,246 +8,115 @@ PHP4Delphi is a Delphi interface to PHP for Delphi {2009, ..., Rio}
88
99PHP4Delphi consists of 3 big subprojects:
1010
11- 1 . PHP scripting (using PHP as a scripting language in Delphi applications)
12- PHP4Delphi allows to execute the PHP scripts within the Delphi program using
13- TpsvPHP component directly without a WebServer.
14- It is a PHP extension that enables you to write client-side GUI applications.
15- One of the goals behind it was to prove that PHP is a capable general-purpose scripting
16- language that is suited for more than just Web applications.
17- It is used by "Delphi for PHP" from CodeGear.
11+ 1 . PHP scripting (using PHP as a scripting language in Delphi applications) < br >
12+ PHP4Delphi allows to execute the PHP scripts within the Delphi program using < br >
13+ TpsvPHP component directly without a WebServer. < br >
14+ It is a PHP extension that enables you to write client-side GUI applications. < br >
15+ One of the goals behind it was to prove that PHP is a capable general-purpose scripting < br >
16+ language that is suited for more than just Web applications. < br >
17+ It is used by "Delphi for PHP" from CodeGear. < br >
1818
19- 2 . PHP extensions development framework (using Delphi to extend PHP functionality)
20- Visual Development Framework gives possibility to create custom PHP
21- Extensions using Delphi.
22- PHP extension, in the most basic of terms, is a set of instructions that is
23- designed to add functionality to PHP.
19+ 2 . PHP extensions development framework (using Delphi to extend PHP functionality) < br >
20+ Visual Development Framework gives possibility to create custom PHP < br >
21+ Extensions using Delphi. < br >
22+ PHP extension, in the most basic of terms, is a set of instructions that is < br >
23+ designed to add functionality to PHP. < br >
2424
25- 3 . PHP4Applications (integrate PHP in any application)
26- Supports C, C++, Visual Basic, VBA, C#, Delphi, Delphi .NET, Visual Basic .NET etc.
25+ 3 . PHP4Applications (integrate PHP in any application) < br >
26+ Supports C, C++, Visual Basic, VBA, C#, Delphi, Delphi .NET, Visual Basic .NET etc. < br >
2727
2828
29- More detail information available in php4Delphi manual php4Delphi.pdf
29+ More detail information available in < a href = " /documentation/ php4Delphi.pdf " >php4Delphi manual php4Delphi.pdf</ a >
3030
3131
32- This is a source-only release of php4Delphi. It includes
33- design-time and run-time packages for Delphi 2009 through Delphi Rio
32+ This is a source-only release of php4Delphi. < br >
33+ It includes design-time and run-time packages for Delphi 2009 through Delphi Rio < br > < br >
3434
35- 36- 37- # History
38- 7.5-rc1 2020
35+ # Features
3936* Compatible with Delphi 2009, 10.1 Seattle, 10.2 Berlin, 10.3 Tokyo
37+ * PHP 5.0.0 - 5.6.x support
38+ * Unicode support ( php 5.5 & up )
39+ <br > <a href =" versions.md " >Version history</a >
4040
41- 7.4 Mar 2019
42- 43- * Compatible with PHP 5.5.0
44- * Compatible with PHP 5.6.0
45- * Compatible with PHP 5.6.x
46- * Compatible with Delphi 2011, XE8, Seattle, Berlin
47- * Added unicode support
48- 49- 7.3 Jan 2019
50- 51- * Compatible with PHP 5.4.0
52- 53- 7.2 Oct 2009
54- 55- * Compatible with Delphi 2010
56- * Compatible with PHP 5.2.11
57- * Compatible with PHP 5.3.0 (VC6 and VC9 editions : see PHP.INC for more details)
58- 59- 7.1 Oct 2008
60- 61- * Compatible with Delphi 2009
62- 63- 7.0 Apr 2007
64- 65- * Compatible with Delphi 2007
66- * Compatible with PHP 5.2.1
67- * Compatible with PHP 4.4.6
68- * Thread safe TpsvPHP component
69- * New component TPHPEngine introduced
70- * RunCode method reimplemented to solve "black horror" of pipes.
71- * Not fully compatible with previous version due to multithreading, but migration is easy.
72- 73- 6.2 Feb 2006
74- 75- * Compatible with PHP 5.2.0
76- * Compatible with Delphi 2006
77- * Compatible with PHP 5.1.1
78- * Compatible with PHP 5.1.2
79- * Code reorganized, some crap was removed
80- * Added headers support (Michael Maroszek)
81- * New demo projects
82- * PHP4Applications revisited
83- 84- 6.1
85- 86- * Compatible with PHP 5.0.4
87- * Compatible with PHP 5.1.0b3
88- * Compatible with Delphi 2005
89- 90- 6.0
91- 92- * Translated Zend II API
93- * New PHP Object Model support
94- * PHP classes support for PHP4 and PHP5
95- * New demo projects
96- * TPHPClass component compatible with PHP4 and PHP5
97- * Added new property DLLFolder to psvPHP component
98- * New component PHPSystemLibrary
99- 100- 5.5 fix 1
101- 102- * New property RegisterGlobals (boolean) added to psvPHP component
103- * New property MaxExecutionTime (integer) added to psvPHP component - Maximum execution time of each script, in seconds
104- * New property MaxInputTime (integer) added to psvPHP component - Maximum amount of time each script may spend parsing request data
105- * New property SafeMode (boolean) added to psvPHP component
106- * New property SafeModeGid (boolean) added to psvPHP component - When safe_mode is on, UID/GID checks are bypassed when
107- including files from this directory and its subdirectories. (directory must also be in include_path or full path must
108- be used when including)
109- * Memory leak fixed in phpModules unit
110- * php_class demo project errors fixed
111- * psvPHP can load now PHP modules using dl() function
112- 113- 5.5
114- 115- * New component TPHPClass added (only for PHP 4)
116- * Added support of PHP 5
117- * Improved speed of unloading of the PHP extensions under Apache
118- * Decreased size of the compiled modules (based on API only and developed using Visual FrameWork)
119- * ZendAPI unit is splitted to ZendAPI and ZendTypes units
120- * PHPAPI unit is splitted to PHPAPI and PHPTypes units
121- * New version of php4App - php4Applications subproject.
122- php4Applications allows to use php scripts in VB, C, C++, etc applications.
123- Demo projects for Delphi, VC and MS Word included.
124- * New property UseDelimiters added to TpsvPHP component. If UseDelimiters = true (by default) the
125- syntax of RunCode method parameter ACode should include standard script delimiters "<? " and "?> "
126- to make RunCode and Execute method compatible.
127- * New parameters for OnScriptError event (error type, file name and line number)
128- 129- 5.4
130- 131- * Minor bugs fixed
132- * Documentation improved
133- * New property IniPath (folder where php.ini located) added to TpsvPHP component
134- * New functions translated in ZendAPI unit
135- 136- 5.3
137- * Added new public property ExecuteMethod to psvPHP component.
138- if ExecuteMethod is emGet, psvPHP receives variables as $_ GET[ "variable"] ,
139- if ExecuteMethod is emServer (default), psvPHP receives variables as $variable.
140- Can be used to debug real PHP scripts with GET parameters.
141- * Added possibility to access published property of Delphi components from PHP
142- * Fixed problem with loading of PHP extension compiled wihout PHP4DELPHI_AUTOLOAD
143- option.
144- 145- 5.2
146- * Added dynamic attachement of all exported functions from php4ts.dll
147- in PHPAPI.pas
148- * New function for safe dynamic functions linking PHPStubInit and ZendStubInit
149- This functions can be used if you are planning to work with beta-version of PHP,
150- for example
151- * New unit zend_dynamic_array.pas
152- * New unit logos.pas
153- 154- 5.0.3
155- * Fixed bug when php function without parameters does not return value.
156- * New classes: TZendVariable and TZendValue in phpFunctions.pas
157- * New subproject: php4App
158- Using php4App you can integrate PHP not only with Delphi, but with VB, for example
159- 160- 5.0.2
161- * Fixed problem with assembler code in ZENDAPI.pas for Delphi 7
162- 163- 5.0.1
164- * Fixed problem with number of parameters of zend_getparameters_ex function
165- 166- 5.0
167- * First version written in Delphi
168- 169- 170- 1.0 - 4.0
171- * php4Delphi was written in C as a DLL with simple Delphi wrapper
172- 17341# Prerequisites
174- Before using php4Delphi library:
175- 176- If you have no PHP installed, you have to download and
177- install PHP separately. It is not included in the package.
178- You can download the latest version of PHP from
179- http://www.php.net/downloads.php
180- 181- ZEND API documentation available at http://www.zend.com
182- PHP API documentation available at http://www.php.net
183- 184- You need to ensure that the dlls which php uses can be found.
185- php4ts.dll is always used. If you are using any php extension dlls then you
186- will need those as well.
187- To make sure that the dlls can be found, you can either copy them to the
188- system directory (e.g. winnt/system32 or windows/system).
189- 190- Copy the file, php.ini-dist to your %WINDOWS% directory on
191- Windows 95/98 or to your %SYSTEMROOT% directory under Windows NT,
192- Windows 2000 or Windows XP and rename it to php.ini. Your %WINDOWS% or
193- %SYSTEMROOT% directory is typically:
194- c:\windows for Windows 95/98
195- c:\winnt or c:\winnt40 for NT/2000/XP servers
42+ Before using php4Delphi library: <br >
43+ 44+ If you have no PHP installed, you have to download and <br >
45+ install PHP separately. It is not included in the package. <br >
46+ You can download the latest version of PHP from <br >
47+ https://php.net/downloads/ <br >
48+ or <br >
49+ https://windows.php.net/downloads/releases/archives/ <br >
50+ 51+ ZEND API documentation available at http://www.zend.com <br >
52+ PHP API documentation available at http://www.php.net <br >
53+ 54+ You need to ensure that the dlls which php uses can be found. <br >
55+ php5ts.dll is always used. If you are using any php extension dlls then you <br >
56+ will need those as well. <br >
57+ To make sure that the dlls can be found, you can either copy them to the <br >
58+ system directory (e.g. winnt/system32 or windows/system). <br >
59+ 60+ Copy the file, php.ini-release to your php installation path <br >
61+ and rename it to php.ini. By default php is located in <br >
62+ %WINDOWS% or %SYSTEMROOT% directory: <br >
63+ c:\windows for Windows <br >
64+ c:\winnt or c:\winnt40 for NT/2000/XP servers <br >
19665
19766# Building
198- Uninstall previous installed version of php4Delphi Library from Delphi IDE.
199- Remove previously compiled php4Delphi packages from your hard disk.
200- 201- Select PHP version you are going to use. php4Delphi supports PHP 5.x,
202- but not at the same time. You have to compile php4Delphi for selected target version of PHP.
203- 204- Open PHP.INC file.
205- If you are using PHP5:
206- a) Uncomment (remove dot) from definition of suitable php, VC and widgetset version
207- b) Uncomment (remove dot) from definition of prefered features in the feature block of the PHP.INC file
208- c) Save PHP.INC file
209- 210- Use "File\Open..." menu item of Delphi IDE to open php4Delphi runtime
211- choose suitable Runtime package php4DelphiR(Your Delphi Version).dpk; In "Package..." window click "Compile" button to
212- compile packages.
213- Put compiled BPL file into directory that is accessible through the search PATH (i.e. DOS
214- "PATH" environment variable;
215- for example, in the Windows\System directory).
216- 217- After compiling php4Delphi run-time package you must install design-time
218- package into the IDE.
219- 220- Use "File\Open..." menu item to open design-time package php4DelphiD(Your Delphi Version).dpk
221- In "Package..." window click "Compile" button to compile the package
222- and then click "Install" button to register php4Delphi Library
223- components on the component palette.
67+ Uninstall previous installed version of php4Delphi Library from Delphi IDE. <br >
68+ Remove previously compiled php4Delphi packages from your disk. <br >
69+ 70+ Select PHP version you are going to use. php4Delphi supports PHP 5.x, <br >
71+ but not at the same time - this behaviour is legacy, and therefore will be removed. <br >
72+ You have to compile php4Delphi for selected target version of PHP. <br >
73+ 74+ a) Edit PHPver.INC file. <br >
75+ Specify PHPver constant: <br >
76+ PHPver = 05604; // php 5.6.4 -> 05 6 04 <br >
77+ b) Edit PHP.INC file. <br >
78+ Remove dot from preferred features <br >
79+ 80+ Use "File\Open..." menu item of Delphi IDE to open php4Delphi group <br >
81+ choose suitable group from /package directory; <br >
82+ In "Package..." window select php4DelphiR, <br >
83+ click "Compile" button to compile BPL. <br >
84+ Put compiled BPL file into directory that is accessible through the search PATH <br >
85+ ("PATH" environment variable; <br >
86+ for example, in the Windows\System directory). <br >
87+ 88+ After compiling php4Delphi run-time package you must install design-time <br >
89+ package into the IDE. <br >
90+ 91+ In "Package..." window select php4DelphiD, <br >
92+ click "Compile" button to compile the package <br >
93+ and then click "Install" button to install php4Delphi components. <br >
22494
22595# Credits
22696
227- Since this is a freeware you are strongly encouraged to look
228- at the source code and improve on the components if you want to.
229- Of course I would appreciate it if you would send me back the
230- changes and bug fixes you have made.
97+ Since this is a freeware you are strongly encouraged to look < br >
98+ at the source code and improve on the components if you want to. < br >
99+ Of course we would appreciate if you create pull request with the < br >
100+ changes and bug fixes you have made. < br >
231101
232- For more information on the PHP Group and the PHP project,
233- please see < http://www.php.net > .
102+ For more information on the PHP Group and the PHP project, < br >
103+ please see < http://www.php.net > . < br >
234104
235105
236- PHP4Delphi forum
237- http://sourceforge.net/forum/forum.php?forum_id=324242
106+ PHP4Delphi forum < br >
107+ http://sourceforge.net/forum/forum.php?forum_id=324242 < br >
238108
239- Authors:
240- Serhiy Perevoznyk
241- Belgium
242- serge_perevoznyk@hotmail.com
243- http://users.telenet.be/ws36637
244- http://delphi32.blogspot.com
109+ Authors: < br >
110+ Serhiy Perevoznyk < br >
111+ Belgium < br >
112+ serge_perevoznyk@hotmail.com < br >
113+ http://users.telenet.be/ws36637 < br >
114+ http://delphi32.blogspot.com < br >
245115
246- Lew Zienin
247- Poland
248- levzenin@pm.me
116+ Lew Zienin < br >
117+ Ukraine < br >
118+ levzenin@pm.me < br >
249119
250- Nikita Ganzikov
251- Ukraine
120+ Nikita Ganzikov < br >
121+ Ukraine < br >
252122pig-l@mail.ru
253-
0 commit comments