PHP config: Difference between revisions
No edit summary |
No edit summary |
||
| Line 23: | Line 23: | ||
If running a high-traffic site, it is highly recommended that a system be used to cache the compiled scripts; there are a number of such plugins for PHP, some free, some proprietary. Wikipedia currently uses the [http://www.php-accelerator.co.uk/ ionCube PHP Accelerator], which is free-to-use but not [[en:free software|free software]]. For a totally free solution, there is [http://apc.communityconnect.com/ Alternative PHP Cache], however we had more problems with it. |
If running a high-traffic site, it is highly recommended that a system be used to cache the compiled scripts; there are a number of such plugins for PHP, some free, some proprietary. Wikipedia currently uses the [http://www.php-accelerator.co.uk/ ionCube PHP Accelerator], which is free-to-use but not [[en:free software|free software]]. For a totally free solution, there is [http://apc.communityconnect.com/ Alternative PHP Cache], however we had more problems with it. |
||
:''How about [http://turck-mmcache.sf.net/ Turck MMcache]? It's GPL, and it has nearly perfect performance with other complicated PHP applications such as phpBB and PHPNuke... I'm about to run a MediaWiki install on my machine with MMCache enabled, and I'll let all of you know how it goes'' - ElizabethFong |
|||
Fortunately, these all seem to be easy to install as Zend plugins, you just drop in a library and change your php.ini. No fussy recompiling of the entire PHP! |
Fortunately, these all seem to be easy to install as Zend plugins, you just drop in a library and change your php.ini. No fussy recompiling of the entire PHP! |
||
Revision as of 20:19, 16 January 2004
PHP is a web template system that accidentally grew up into a fairly general language. PHP's syntax, capabilities, and execution model bear vague similarities to Perl; scripts are loaded by an "interpreter", compiled to bytecode, and then executed. The PHP interpreter can be run from the command line / CGI-style, or more commonly as an in-process Apache module.
Installation
PHP can be a bitch to install in the traditional way. With modern Apache's dynamic modules, it can be fairly easy though. apxs or something. (more later)
Compile-time options
MediaWiki either needs or wants a number of optional features of PHP that need to be enabled at compile time:
- iconv character set conversion library (but you may be able to fake around it)
- zlib compression library, optionally to compress the file cache
- sockets support for network communication, if using memcached
Runtime options
You have to turn on register_globals. If you don't, you'll be confused about why no matter what you click, you only see the main page. :)
Yes, we know it's bad form.
Opcode caching
If running a high-traffic site, it is highly recommended that a system be used to cache the compiled scripts; there are a number of such plugins for PHP, some free, some proprietary. Wikipedia currently uses the ionCube PHP Accelerator, which is free-to-use but not free software. For a totally free solution, there is Alternative PHP Cache, however we had more problems with it.
- How about Turck MMcache? It's GPL, and it has nearly perfect performance with other complicated PHP applications such as phpBB and PHPNuke... I'm about to run a MediaWiki install on my machine with MMCache enabled, and I'll let all of you know how it goes - ElizabethFong
Fortunately, these all seem to be easy to install as Zend plugins, you just drop in a library and change your php.ini. No fussy recompiling of the entire PHP!
Depending on the cache and options used, you may have to perform a special operation whenever updating script files.