Update do php7.3

apt -y install lsb-release apt-transport-https ca-certificates ## zainstalowane
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php7.3.list
apt update

apt -y install php7.3

apt install php7.3-
php7.3-xml 
php7.3-intl
php7.3-soap
php7.3-mysql
php7.3-mbstring
php7.3-gd
php7.3-openssl
php7.3-curl 
php7.3-zip
php7.3-xmlrpc
php7.3-sqlite3
apt install libapache2-mod-php7.3
apt policy php7.3-cli
a2dismod php7.2
a2enmod  php7.3
systemctl restart apache2

php7.0 extentions

Pakiety do pracy z CakePHP3, Moodle3

# dpkg -l | grep php
.
ii  libapache2-mod-php7.0
ii  php-common
ii  php7.0
ii  php7.0-cli
ii  php7.0-common
ii  php7.0-curl
ii  php7.0-gd
ii  php7.0-intl
ii  php7.0-json
ii  php7.0-mbstring
ii  php7.0-mcrypt
ii  php7.0-mysql
ii  php7.0-opcache
ii  php7.0-readline
ii  php7.0-soap
ii  php7.0-sqlite3
ii  php7.0-xml
ii  php7.0-xmlrpc
ii  php7.0-zip         

reCaptcha

Klient – Kod HTML

-- head
<script src='https://www.google.com/recaptcha/api.js'></script>

-- form - przycisk reCaptcha
<div class="g-recaptcha" data-sitekey="62LczhlYUAAAAAAYW6nsSPsXJ-mulLH6w7TxFH4Pa"></div>

Serwer – kod PHP

if($_POST['send'])
{           
 $response = $_POST['g-recaptcha-response'];

 if($response) {

 $url = "https://www.google.com/recaptcha/api/siteverify";
 $secret = "62LczhlYUAAAAADTnGOz8GRl9c66Rwn4GDSVsChAg";
 $remoteip = $_SERVER['REMOTE_ADDR'];
 $params = [
            'secret'   => $secret, 
            'remoteip' => $remoteip, 
            'response' => $response
           ];      
  
 $post_params = http_build_query($params);     
   
 $ch = curl_init();        
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_HEADER, false);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_POST, true);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params);       
 $response = curl_exec($ch);
 curl_close($ch);

 $resp_tab = json_decode($response, true);  
  
 if( $resp_tab['success'] )
 {
   //Przetwarzanie i wysłanie formularza
   ...
   $info = "Formularz wysłany";
 } 
 else {
   $info = "Nieprawidłowa weryfikacja testu w Google. 
            Kod błęd: " .$resp_tab['error-codes'][0];
  }
 } 
 else {
     $info = "Błędny wybór lub nie wypełniłeś chptcha."; 
 }
 $smarty->assign('info', $info);
}