I need to set the default php-version of a subscription to php7.3. The current server php version is PHP 7.1.33 (cli) (built: Oct 25 2019 11:33:58) ( NTS ).
Using a shell program (I used Terminal) from the home directory I ran:
export PATH=/opt/plesk/php/7.3/bin:$PATH;
centos 6 use
service httpd restart
centos 7 use
sudo systemctl restart httpd.service
However, through shell when I ran php -v the version remained at 7.1.33.
Incase the restart wasn't enough I rebooted the server using
sudo reboot
Looking through the documentation on Plesk support, I came across this chat command "php" version for SSH
After switching the subscription user I followed the steps
echo "alias php='/opt/plesk/php/7.3/bin/php'" >> ~/.bashrc
including Jari's reference that rather than ~/bashrc us ~/bash_profile. However, even after a restart and reboot the PHP version remained at 7.1.33. Don't get me wrong, whilst in the subscription the PHP version was correct being PHP 7.3.20 (cli) (built: Jul 24 2020 13:12:45) ( NTS ).
I went back the relevant home directory and ran
export PATH=/opt/plesk/php/7.3/bin:$PATH; sudo reboot
When I checked the PHP version - 7.3.20.
So, to get the correct PHP version running through shell I did:
- At root directory
- echo "alias php='/opt/plesk/php/7.3/bin/php'" >> ~/.bashrc
- At home directory
- export PATH=/opt/plesk/php/7.3/bin:$PATH;
- sudo reboot
If the above comments haven't solve this issue, refer to How to run Composer with Plesk PHP. In this article they recommend /opt/plesk/php/X.X/bin/php /usr/lib64/plesk-9.0/composer.phar [options] [arguments]. As we are attempting to get php 7.3 as the recognised base, X.X becomes 7.3. Then replace the options and arguments with what you are attempting to do. For us, global require laravel/installer:3
/opt/plesk/php/7.3/bin/php /usr/lib64/plesk-9.0/composer.phar [options] [arguments]
Other Apache commands
Apache documentation recommends using a control script to pass commands to the httpd process. Restarting Apache in this manner, you would enter the following:
sudo apachectl –k restart
Terminate all child processes and itself, run the following command:
apachectl –k stop
Exit child processes after they finish a task and then launch new instances. The service will reload configuration files as well:
apachectl –k graceful
Use -k restart to force child processes to exit. The parent process stays running, and reloads configuration files:
apachectl –k restart
Use -k graceful-stop to force parent process to stop child processes as they complete their tasks. Once all child processes are stopped, the parent process exits:
apachectl –k graceful–stop
Other commands to use with Systemctl
To start the Apache service:
sudo systemctl start httpd.service
Stop the Apache service with:
sudo systemctl stop httpd.service
Force Apache to refresh the configuration files:
sudo systemctl reload httpd.service
Set Apache to run when the system boots:
sudo systemctl enable httpd.service
Prevent Apache from loading when the system boots:
sudo systemctl disable httpd.service