Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
howto:php [2010/03/16 22:14] – digitalman | howto:php [2010/11/18 18:42] – digitalman |
---|
Dynamic [[http://php.net/|PHP]] content may be served by the Synchronet Web Server using //PHP-CGI//. | Dynamic [[http://php.net/|PHP]] content may be served by the Synchronet Web Server using //PHP-CGI//. |
| |
PHP applications will not magically have access to your Synchronet content (e.g. users, messages, files). | PHP applications //will not// magically have access to your Synchronet content (e.g. users, messages, files). |
| |
===== Install PHP ===== | ===== Install PHP ===== |
| |
Make sure you get PHP-CGI support. On *nix platforms, this achieved by excluding the ''--with-apxs2'' option from the ''configure'' command-line during the installation process. | Make sure you get PHP-CGI support. On *nix platforms, this is achieved by excluding the ''--with-apxs2'' option from the ''configure'' command-line during the installation process. |
| |
===== Install PHP Content ===== | ===== Install PHP Content ===== |
===== Configure Web Server ===== | ===== Configure Web Server ===== |
| |
Edit your ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file, making sure that the ''CGIExtensions'' key value includes ''.php''. | Edit your ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file, ensuring: |
| - The Web Server is enabled (''AutoStart=true'') |
| - If your application has an ''index.php'' file, that that file is included in the ''IndexFileNames'' value (comma separated list) |
| - The ''MaxCgiInactivity'' value is set to something sane (default: 120 seconds) |
| - The ''CGIExtensions'' key value includes ''.php'' (comma separated list) |
| - The ''Options'' key value **does not** include the ''NO_CGI'' option (bit 5) |
| |
Example: | Example: |
<file> | <file> |
| [Web] |
| AutoStart=true |
| IndexFileNames=index.html,index.ssjs,index.php |
| MaxCgiInactivity=120 |
CGIExtensions=.cgi,.pl,.php | CGIExtensions=.cgi,.pl,.php |
| Options=NO_HOST_LOOKUP |
</file> | </file> |
| |
Edit your ''[[dir:ctrl]]/[[config:web_handler.ini]]'' file. | Edit your ''[[dir:ctrl]]/[[config:web_handler.ini]]'' file. |
| |
If you're running Synchronet for Windows, edit the ''[CGI.Win32]'' section, otherwise (e.g. *nix, or MacOSX), edit the ''[CGI]'' section: | If you're using Synchronet for Windows, edit the ''[CGI.Win32]'' section, otherwise, edit the ''[CGI]'' section: |
| |
Make sure the ''php'' key value points to the correct location of your ''php-cgi'' (or ''PHP-CGI.EXE'') file. | Ensure the ''php'' key value points to the correct path (location) of your ''php-cgi'' (or ''php-cgi.exe'') file. |
| |
Example (*nix): | Example (*nix): |
</file> | </file> |
| |
Edit your ''[[dir:ctrl]]/[[config:cgi_env.ini]]'' file, making sure it contains the following lines: | Edit your ''[[dir:ctrl]]/[[config:cgi_env.ini]]'' file, ensuring it contains the following lines: |
<file> | <file> |
[REDIRECT_STATUS] | [REDIRECT_STATUS] |
value=200 | value=200 |
</file> | </file> |
| |
| :!: If you see the PHP error ''This PHP CGI binary was compiled with force-redirect enabled.'', that indicates that your ''[[dir:ctrl]]/[[config:cgi_env.ini]]'' file is missing this key. |
| |
===== See Also ===== | ===== See Also ===== |