Setup:Installation Guide/System Preparation/Windows/PHP: Difference between revisions

No edit summary
Tag: 2017 source edit
No edit summary
Tag: 2017 source edit
Line 22: Line 22:


{{Hint|file=hint.png|text=In the following steps,  we use PHP-Version 7.4.28 which only serves as an example for the latest version 7.4.x that is available at the time of your download.}}
{{Hint|file=hint.png|text=In the following steps,  we use PHP-Version 7.4.28 which only serves as an example for the latest version 7.4.x that is available at the time of your download.}}
==Unpacking the  zip-archive==
==Unpacking the  ZIP archive==
'''Unpack''' the ZIP archive that you just downloaded into a useful system path on your hard drive.
'''Unpack''' the ZIP archive that you just downloaded into a useful system path on your hard drive.


Line 32: Line 32:
'''Enter''' the key combination Windows+R.
'''Enter''' the key combination Windows+R.


'''Enter''' "SystemPropertiesAdvanced.exe" (1) in the dialog window and '''click''' "OK" (2):[[File:Setup:EnvironmentVariables_01.png|center|400px|Environment variables 02|link=Special:FilePath/Setup:EnvironmentVariables_01.png]]
'''Enter''' "SystemPropertiesAdvanced.exe" (1) in the dialog window and '''click''' "OK" (2):
[[File:Setup:systempreparation_php_02.png|border|center|PHP 02]]


'''Click''' "Environment Variables...":[[File:Setup:EnvironmentVariables_02.png|center|400px|Environment variables 03|link=Special:FilePath/Setup:EnvironmentVariables_02.png]]
'''Click''' "Environment Variables...":
[[File:Setup:systempreparation_php_03.png|border|center|PHP 03]]


'''Double-click'''  the entry "Path" in the section "System variables":[[File:Setup:EnvironmentVariables_03.png|center|400px|Environment variables 04|link=Special:FilePath/Setup:EnvironmentVariables_03.png]]
'''Double-click'''  the entry "Path" in the section "System variables":
[[File:Setup:systempreparation_php_04.png|border|center|PHP 04]]


'''Click''' "New":[[File:Setup:EnvironmentVariables_04.png|center|400px|Environment variables 05|link=Special:FilePath/Setup:EnvironmentVariables_04.png]]
'''Click''' "New":
[[File:Setup:systempreparation_php_05.png|border|center|PHP 05]]


'''Add''' the path to your unpacked PHP version, which contains the php.exe file:
'''Add''' the path to your unpacked PHP version, which contains the php.exe file:
[[File:Setup:php2.png|center|400x400px|Environment variables 06|link=Special:FilePath/Setup:php2.png]]
[[File:Setup:systempreparation_php_06.png|border|center|PHP 06]]
'''Close''' all newly opened windows one after the other by clicking "OK".
'''Close''' all newly opened windows one after the other by clicking "OK".
==Checking the environment variable==
==Checking the environment variable==
Line 48: Line 52:
'''Enter''' the key combination Windows+R.
'''Enter''' the key combination Windows+R.


'''Enter''' "cmd" (1) in the dialog window and '''click''' "OK" (2):[[File:Setup:PHP_EnvironmentVariables_02.png|center|400px|Environment variables 07|link=Special:FilePath/Setup:PHP_EnvironmentVariables_02.png]]
'''Enter''' "cmd" (1) in the dialog window and '''click''' "OK" (2):
[[File:Setup:systempreparation_php_07.png|border|center|PHP 07]]


The command prompt opens.
The command prompt opens.


'''Type''' "php -v" (1) and '''press''' the ''Enter'' key. The found PHP version will be displayed (2).
'''Type''' "php -v" (1) and '''press''' the ''Enter'' key. The found PHP version will be displayed (2).
[[File:Setup:php3.png|center|400x400px|Environment variables 08|link=Special:FilePath/Setup:php3.png]]
[[File:Setup:systempreparation_php_08.png|border|600px|center|PHP 08]]
If this is not the case, then the path to the php.exe file in the environment variables was specified incorrectly.
If this is not the case, then the path to the php.exe file in the environment variables was specified incorrectly.
==Configuring IIS for PHP==
==Configuring IIS for PHP==
Line 66: Line 71:
'''Select''' your server name (1) in the left pane and then '''double-click''' "PHP Manager" (2):
'''Select''' your server name (1) in the left pane and then '''double-click''' "PHP Manager" (2):


[[File:Setup:PHP_IIS_Config_02.png|center|400px|PHP and IIS 02|link=Special:FilePath/Setup:PHP_IIS_Config_02.png]]
[[File:Setup:systempreparation_php_10.png|border|600px|center|PHP 10]]
'''Click''' "Register new PHP version":[[File:Setup:PHP_IIS_Config_03.png|center|400px|PHP and IIS 03|link=Special:FilePath/Setup:PHP_IIS_Config_03.png]]
'''Click''' "Register new PHP version":
[[File:Setup:systempreparation_php_11.png|border|600px|center|PHP 11]]


'''Select''' the browse "(...)" button in the next window:
'''Select''' the browse "(...)" button in the next window:


[[File:Setup:PHP_IIS_Config_04.png|center|400px|PHP and IIS 04|link=Special:FilePath/Setup:PHP_IIS_Config_04.png]]
[[File:Setup:systempreparation_php_12.png|border|center|PHP 12]]
 
'''Change''' to the path to which you previously unzipped PHP (1), '''mark''' the "php-cgi.exe" (2) and '''click''' "Open" (3):
[[File:Setup:systempreparation_php_13.png|border|600px|center|PHP 13]]


'''Change''' to the path to which you previously unzipped PHP (1), '''mark''' the "php-cgi.exe" (2) and '''click''' "Open" (3):[[File:Setup:php4.png|center|400x400px|PHP and IIS 05|link=Special:FilePath/Setup:php4.png]]
'''Click''' "OK":
'''Click''' "OK":
[[File:Setup:php5.png|center|400x400px|PHP and IIS 06|link=Special:FilePath/Setup:php5.png]]
[[File:Setup:systempreparation_php_14.png|border|center|PHP 14]]


'''Click'''  "Configure error reporting":[[File:Setup:PHP_IIS_Config_07.png|center|400px|PHP and IIS 07|link=Special:FilePath/Setup:PHP_IIS_Config_07.png]]
'''Click'''  "Configure error reporting":
[[File:Setup:systempreparation_php_15.png|border|600px|center|PHP 15]]


'''Select''' the item "Production machine" (1) and '''enter''' a path and a file of your choice where PHP should save its log (2). '''Click''' "Apply" (3):
'''Select''' the item "Production machine" (1) and '''enter''' a path and a file of your choice where PHP should save its log (2). '''Click''' "Apply" (3):


[[File:Setup:PHP_IIS_Config_08.png|center|400px|PHP and IIS 08|link=Special:FilePath/Setup:PHP_IIS_Config_08.png]]
[[File:Setup:systempreparation_php_16.png|border|600px|center|PHP 16]]


{{Hint|file=hint.png|text=This documentation assumes the [[Setup:Installation Guide/Advanced/Windows_Folder_Structure|recommended folder structure]].  If the path you specify here does not yet exist, please create it before clicking  "Apply".}}
{{Hint|file=hint.png|text=This documentation assumes the [[Setup:Installation Guide/Advanced/Windows_Folder_Structure|recommended folder structure]].  If the path you specify here does not yet exist, please create it before clicking  "Apply".}}
Line 87: Line 96:
'''Click''' "Enable or disable an extension" in the main window:
'''Click''' "Enable or disable an extension" in the main window:


[[File:Setup:systempreparation_php_19.png|border|600px|center|PHP 19|link=Special:FilePath/Setup:systempreparation_php_19.png]]
[[File:Setup:systempreparation_php_19.png|border|600px|center|PHP 19]]




Make sure that the following extensions are activated:
Make sure that the following extensions are activated:


[[File:Setup:systempreparation_php_20.png|border|600px|center|PHP 20|link=Special:FilePath/Setup:systempreparation_php_20.png]]
[[File:Setup:systempreparation_php_20.png|border|600px|center|PHP 20]]




To activate an extension, find it in the  "Disabled" extensions (1) and '''click''' "Enable" (2):
To activate an extension, find it in the  "Disabled" extensions (1) and '''click''' "Enable" (2):


[[File:Setup:systempreparation_php_21.png|border|600px|center|PHP 21|link=Special:FilePath/Setup:systempreparation_php_21.png]]
[[File:Setup:systempreparation_php_21.png|border|600px|center|PHP 21]]
 


'''Open''' the configuration file  ''php.ini'':
'''Open''' the configuration file  ''php.ini'':


[[File:Setup:systempreparation_php_22.png|border|600px|center|PHP 22|link=Special:FilePath/Setup:systempreparation_php_22.png]]
[[File:Setup:systempreparation_php_22.png|border|600px|center|PHP 22]]




Replace the line <code>extension=php_opcache.dll</code> with <code>zend_extension=php_opcache.dll</code>:
Replace the line <code>extension=php_opcache.dll</code> with <code>zend_extension=php_opcache.dll</code>:


[[File:Setup:systempreparation_php_23.png|border|600px|center|PHP 23|link=Special:FilePath/Setup:systempreparation_php_23.png]]
[[File:Setup:systempreparation_php_23.png|border|600px|center|PHP 23]]





Revision as of 16:37, 11 March 2022


icon required.png
The source code of BlueSpice is based on the scripting language "PHP". It must be installed on your server in order to operate BlueSpice. The steps listed here are required.


hint.png
PHP is not installed with a "classic installation package" but the sources are downloaded and integrated into IIS via the PHP Manager that you installed in the previous step.

Download

hint.png
The content of this section refers to external sources and is current at the time of writing this documentation. We cannot guarantee how long these sources will remain unchanged. Please let us know if you notice any discrepancies to the information provided here.


Open the officical download page for Windows auf php.net (1).

Find the currently most recent version 7.4.x (2) 64-bit Non Thread Safe (3) and download it (4):

PHP 01


Follow the download instructions.


hint.png
Please note that BlueSpice is not compatible with PHP 8.x at this time.


hint.png
In the following steps, we use PHP-Version 7.4.28 which only serves as an example for the latest version 7.4.x that is available at the time of your download.

Unpacking the ZIP archive

Unpack the ZIP archive that you just downloaded into a useful system path on your hard drive.

hint.png
This documentation assumes the recommended folder structure.

For this reason PHP will be unpacked into the folder C:\bluespice\bin\php-7.4.28. If you have a different folder structure, you must adapt these paths accordingly.

Setting the environment variable

To use PHP easily on the command line of Windows, it is necessary to configure an environment variable in Windows. Perform the following steps:

Enter the key combination Windows+R.

Enter "SystemPropertiesAdvanced.exe" (1) in the dialog window and click "OK" (2):

PHP 02

Click "Environment Variables...":

PHP 03

Double-click the entry "Path" in the section "System variables":

PHP 04

Click "New":

PHP 05

Add the path to your unpacked PHP version, which contains the php.exe file:

PHP 06

Close all newly opened windows one after the other by clicking "OK".

Checking the environment variable

To make sure the environment variable is set correctly, perform the following steps:

Enter the key combination Windows+R.

Enter "cmd" (1) in the dialog window and click "OK" (2):

PHP 07

The command prompt opens.

Type "php -v" (1) and press the Enter key. The found PHP version will be displayed (2).

PHP 08

If this is not the case, then the path to the php.exe file in the environment variables was specified incorrectly.

Configuring IIS for PHP

In the following steps, PHP will be included in IIS and IIS will be configured to provide a working basic setup:

Press the key combination Windows+R to call up IIS Manager.

Enter "inetmgr" (1) in the dialog window and click "OK" (2):

Select your server name (1) in the left pane and then double-click "PHP Manager" (2):

PHP 10

Click "Register new PHP version":

PHP 11

Select the browse "(...)" button in the next window:

PHP 12

Change to the path to which you previously unzipped PHP (1), mark the "php-cgi.exe" (2) and click "Open" (3):

PHP 13

Click "OK":

PHP 14

Click "Configure error reporting":

PHP 15

Select the item "Production machine" (1) and enter a path and a file of your choice where PHP should save its log (2). Click "Apply" (3):

PHP 16
hint.png
This documentation assumes the recommended folder structure. If the path you specify here does not yet exist, please create it before clicking "Apply".


Click "Enable or disable an extension" in the main window:

PHP 19


Make sure that the following extensions are activated:

PHP 20


To activate an extension, find it in the "Disabled" extensions (1) and click "Enable" (2):

PHP 21

Open the configuration file php.ini:

PHP 22


Replace the line extension=php_opcache.dll with zend_extension=php_opcache.dll:

PHP 23


Change the following options to the values below:

Name Wert Kommentar
date.timezone "Europe/Berlin" Select the appropriate time zone for you.
Uncomment the entry
max_execution_time 600
post_max_size 1024M
upload_max_filesize 1024M
opcache.enable 1 Uncomment the entry
opcache.enable_cli 0 Uncomment the entry
opcache.memory_consumption 512 Uncomment the entry
opcache.max_accelerated_files 1000000 Uncomment the entry
opcache.validate_timestamps 1 Uncomment the entry
opcache.revalidate_freq 2 Uncomment the entry
opcache.optimization_level 0x7FFF9FFF Uncomment the entry
opcache.blacklist_filename C:\bluespice\etc\opcache.blacklist Uncomment the entry
zlib.output_compression On
zlib.output_compression_level 9 Uncomment the entry


Save and close the file.

Create the folder C:\bluespice\etc .

Create a text file named opcache.blacklist content C:\bluespice\var\www\w\extensions\BlueSpiceFoundation\config\*

Expand the tree in the left pane of the IIS Manager until the "Default Web Site" becomes visible:

Right-click (1) and then click "Remove" (2):

Confirm the following dialog with "Yes":

Right-click "Sites" (1) and click "Add Website" (2):

Enter the site name "BlueSpice" (1) and select the path on your server where your BlueSpice installation will be located later (2).

Click "OK" (3):

hint.png
This documentation assumes the recommended folder structure. If the path you specify here does not yet exist, please create it before clicking "OK".


The site is now listed in the IIS overview page:

Next step

If you have successfully completed all of the above steps, proceed to the next step: MariaDB.



To submit feedback about this documentation, visit our community forum.