How to install php-mcrypt on php-5.4 SCL

How to install php-mcrypt for php-5.4 on CentOs 6.x SCL

wget http://rpms.southbridge.ru/rhel6/php-5.4/x86_64/php-mcrypt-5.4.16-1.el6.x86_64.rpm

By EPEL:
yum inatall libmcrypt
yum install php-common

rpm2cpio php-mcrypt-5.4.16-1.el6.x86_64.rpm | cpio -idmv

cp etc/php.d/mcrypt.ini /opt/rh/php54/root/etc/php.d/
cp usr/lib64/php/modules/mcrypt.so /opt/rh/php54/root/usr/lib64/php/modules/

vim /opt/rh/php54/root/etc/php.ini
and add
extension=mcrypt.so

Trasferire via ftp solo i file nuovi

wget -m --ftp-user=xxxx --ftp-password=yyy ftp://ftp.dominio.it/www.dominio.it/

nohup comando
Then press ctrl + z which will temporarily suspend the command
bg
This will start executing the command in backgroud
To see what background process that is running you can type command:
$ jobs

rsync -avzu -e "ssh -p 2222" root@xx.xx.xx.xx:/var/www/html/ORIG/* /home/DEST/public_html/ > /home/DEST/public_html/rsync.log 2> /home/DEST/public_html/rsync.err

Propel e portali – appunti utili… a me

Installazione Propel

just create a new composer.json file at the root of your project’s directory with the following content:

{
"require": {
"propel/propel": "~2.0@dev"
}
}

wget http://getcomposer.org/composer.phar

php composer.phar install

Per testarlo:

cd myproject
e lancia
vendor/bin/propel
export PATH=$PATH:/path/to/vendor/bin/
cd mkdir propel
mkdir propel/class
propel init
propel model:build
vim composer.json
{
"require": {
"propel/propel": "~2.0@dev"
},
"autoload": {
"classmap": ["propel/class/"]
}
}

php composer.phar dump-autoload

propel config:convert

nei file php:

require_once 'include.inc.php';
// setup the autoloading
require_once 'vendor/autoload.php';
//require_once 'vendor/autoload.php';
// setup Propel
require_once 'generated-conf/config.php';

e poi:

 $avviso->setDtAvviso("2013-12-11");
echo $avviso->getAvviso();
var_dump($avviso->getDtAvviso());
$d1=new DateTime("2012-07-08 11:14:15.638276");
var_dump($d1);
echo $d1->format('Y-m-d H:i');
echo $avviso->getDtAvviso()->format('Y-m-d H:i');
$newDate = $avviso->getDtAvviso();
$newDate = $newDate->format('Y-m-d H:i:s'); // for example
$avviso->save()
?>

[modifica]
Propel – Installazione con reverse

just create a new composer.json file at the root of your project’s directory with the following content:

{
"require": {
"propel/propel": "~2.0@dev"
}
}

wget http://getcomposer.org/composer.phar

php composer.phar install

Per testarlo:

cd myproject
e lancia
vendor/bin/propel
export PATH=$PATH:/path/to/vendor/bin/
cd mkdir propel
mkdir propel/class
genera il file propel.yml :
Attenzione che deve essere INDENTATO!!!!
propel:
  general:
      project: bandi_concorsi
      version: 0.4

  paths:
      projectDir:  /var/www/vhosts/bandi_concorsi
      schemaDir: /var/www/vhosts/bandi_concorsi/propel
      phpDir: /var/www/vhosts/bandi_concorsi/propel/class
      phpConfDir: /var/www/vhosts/bandi_concorsi/propel
      # Directory in which your composer.json resides
#      composerDir: {empty}

## All Database settings ##
  database:
      connections:
          default:
              adapter: mysql
              dsn: mysql:host=localhost;dbname=bandi_concorsi
              user: root
              password:
              settings:
                  charset: utf8

          bandi_concorsi:
              adapter: mysql
              dsn: "mysql:host=localhost;dbname=bandi_concorsi"
              user: root
              password:
              settings:
                  charset: utf8

          albopretorio:
              adapter: mysql
              dsn: "mysql:host=192.168.0.20;dbname=albopretorio"
              user: user_db
              password: pass_db_pass
              attributes:

          protocollo:
              adapter: pgsql
              dsn: "pgsql://protocolloro:protocolloro@192.168.0.23:5433/protocollo"
              user: protocolloro
              password: protocolloro
              attributes:
propel reverse --output-dir="./propel"
propel model:build
vim composer.json
{
"require": {
"propel/propel": "~2.0@dev"
},
"autoload": {
"classmap": ["propel/class/"]
}
}

php composer.phar dump-autoload

propel config:convert

nei file php:

require_once 'include.inc.php';
// setup the autoloading
require_once 'vendor/autoload.php';
//require_once 'vendor/autoload.php';
// setup Propel
require_once 'propel/config.php';

e poi:

 $avviso->setDtAvviso("2013-12-11");
echo $avviso->getAvviso();
var_dump($avviso->getDtAvviso());
$d1=new DateTime("2012-07-08 11:14:15.638276");
var_dump($d1);
echo $d1->format('Y-m-d H:i');
echo $avviso->getDtAvviso()->format('Y-m-d H:i');
$newDate = $avviso->getDtAvviso();
$newDate = $newDate->format('Y-m-d H:i:s'); // for example
$avviso->save()
?>

Installare php 5.4 su CentOs 6.x

Thanks to
http://sharadchhetri.com/2015/04/04/install-php-5-4-on-centos-6-with-yum-command/

Step 1. Install SCL repo only by hitting below given command.

yum install centos-release-SCL

Step 2. Install php 5.4 version on system now.

yum install php54

To install specific package, package name should be known. Hence, to get the list of available package list from SCL repo run below given command.

yum list|grep php

Step 3. Activate the PHP 5.4 on system.
NOTE: If you run below given command directly from terminal then on next login you will not find PHP 5.4 path.

source /opt/rh/php54/enable

Basically the above command, make PHP 5.4 executable path and environment available to current login user.

To make PHP 5.4 available to all user , we have to add line source /opt/rh/php54/enable inside file called /etc/profile. Now activate without logout by running command.

source /etc/profile

Or in case, if you only want php 5.4 available to specific user then just only edit .bashrc or .bash_profile file from User’s home directory. And add line source /opt/rh/php54/enable .

Step 4. Now check the php version

php -v

Below given is reference from our system.

[root@localhost ~]# php -v
PHP 5.4.16 (cli) (built: Nov 19 2014 08:05:17)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
[root@localhost ~]#
IMPORTANT NOTE : The PHP 5.4 package actually installed in /opt/rh directory.

ATTENZIONE!!!! Abilitazione x virtualhost

thanks to: http://www.ilsistemista.net/index.php/linux-a-unix/45-joomla-3-3-centos-6-and-php-version-putting-all-together.html?start=1

Step n.1: enable the SCL repo and install PHP 5.4

yum install -y centos-release-SCL.x86_64
yum install -y php54.x86_64 php54-php-mysqlnd

Step n.2: create a PHP wrapper script in /var/www/cgi-bin/php54-wrapper

#!/bin/bash
source /opt/rh/php54/enable
exec php-cgi $1

Then give it the appropriate permissions and restore the selinux context:

restorecon -RF /var/www/cgi-bin/php54-wrapper
chown apache:apache /var/www/cgi-bin/php54-wrapper
chmod ugo-rwx /var/www/cgi-bin/php54-wrapper
chmod ug+rx /var/www/cgi-bin/php54-wrapper

Step n.3: configure the appropiate VirtualHost to use the new PHP version via the CGI interface

AddHandler php-cgi .php
Action php-cgi /cgi-bin/php54-wrapper
Options +ExecCGI

This configuration instruct Apache to use the new PHP 5.4 version for this and only this Virtualhost, leaving all others configuration intact: other Virtualhosts will continue to use PHP 5.3 version via mod_php.

 

Nota:

se smette di funzionare occorre rinominare il file

/etc/httpd/conf.d/php54-php.conf

in

/etc/httpd/conf.d/php54-php.conf.vhosts

Cookie Law – La stupidità nel regolamentare l’uso dei cookie

Premetto che ritengo la “cookie law” una delle cose più stupide ed inutili mai viste.
Paragonabile FORSE solo alla norma sugli amministratori di sistema in quando a idiozia.
Detto questo… visto che siamo TUTTI costretti ad adeguarci … UBBIDISCO..

Ma vorrei sollevare una riflessione… quanto sarà costato e costerà a tutti, enti pubblici e società private, questo stupido giochetto ?

Meditate gente, meditate!

Detto questo … ecco la soluzione più rapida che ho trovato (quando non sia possibile adottare un plugin ad HOC)

Nella sezione HEAD del sito aggiungere quanto segue:


<!-- ---------------- cookie ------------------------- -->
<link rel="stylesheet" media="screen" href="http://www.provincia.prato.it/cookie.css" type="text/css" />
<!-- ---------------- /cookie ------------------------- -->

Nel Body inserire in alto quanto segue:

<!-- ---------------- cookie ------------------------- -->
<div id="banner_cookie">
<div id="banner_interno">
<div id="banner_sx">
Questo sito utilizza cookies tecnici e di terze parti per funzionalit&agrave; quali la condivisione sui <i>social network</i> e/o la visualizzazione
di media.
Se non acconsenti all'utilizzo dei cookie di terze parti, alcune di queste funzionalit&agrave; potrebbero essere non disponibili.
Per maggiori informazioni consulta la <a target="_blanc" href="http://www.miosito.it/privacy_cookie.html">privacy policy</a>
</div>
<div id="banner_dx">
Acconsenti all'utilizzo di cookie di terze parti?
<br />
<br />
<a href='javascript:void(0);' onclick='CookieOk();'><b>Si, acconsento</b></a>
<a href='javascript:void(0);' onclick='CookieKo();'><b>No, non acconsento</b></a>
</div>
</div>
</div>

<script type="text/javascript" src="http://www.miosito.it/cookie.js"></script>
<!-- ---------------- /cookie ------------------------- -->

I due file sono i seguenti:

cookie.css:

#banner_cookie {
display: none;
z-index: 99999;
position: fixed;
left: 0px;
right: 0px;
top: 0px;
width: 100%;
min-height: 40px;
padding: 14px;
background-color: #000000;
background-color: rgba(0, 0, 0, 0.8);
color: #ffffff;
line-height: 1.5;
font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
font-size: 14px;
text-align: left;
}

#banner_interno {
width: 960px;
margin-left: auto;
margin-right: auto;
}
#banner_sx {
width: 60%;
float: left;
padding-right: 24px;
}

#banner_dx {
width: 35%;
float: right;
}

#banner_sx a {
color: #ffffff;
text-decoration: underline;
}

#banner_sx a:hover, #banner_sx a:focus {
color: #000000;
background: #ffffff;
text-decoration: underline;
}

#banner_dx a {
padding: 4px;
border-radius: 4px;
background: #dfdfdf;
color: #000000;
font-weight: bold;
text-decoration: none;
}

#banner_dx a:hover, #banner_dx a:focus {
color: #dfdfdf;
background: #000000;
}

cookie.js:

function CookieOk()
{
var expiration = new Date();
expiration.setTime(expiration.getTime() + (60000*60*24*365));
setCookie("ok_cookie","1",expiration,"/");
document.getElementById("banner_cookie").style.display="none";
window.location.reload(true);
}
function CookieKo()
{
var expiration = new Date();
expiration.setTime(expiration.getTime() + (60000*60*24*365));
setCookie("ok_cookie","2",expiration,"/");
document.getElementById("banner_cookie").style.display="none";
}

function setCookie(name,value,expires,path,domain,secure){document.cookie=name+"="+escape(value)+((expires==null)?"":"; expires="+expires.toGMTString())+((path==null)?"":"; path="+path)+((domain==null)?"":"; domain="+domain)+((secure==null)?"":"; secure")}
function getCookie(name){var cname=name+"=";var dc=document.cookie;if(dc.length>0){begin=dc.indexOf(cname);if(begin!=-1){begin+=cname.length;end=dc.indexOf(";",begin);if(end==-1)end=dc.length;return unescape(dc.substring(begin,end))}}return null}
function delCookie(name,path,domain){if(getCookie(name)){document.cookie=name+"="+((path==null)?"":"; path="+path)+((domain==null)?"":"; domain="+domain)+"; expires=Thu, 01-Jan-70 00:00:01 GMT"}}

var check_cookie = getCookie("ok_cookie");

if ( (check_cookie == null) || (window.location.href.indexOf("privacy")>0) )
{
document.getElementById("banner_cookie").style.display="block";
}

Problemi chrome e plugin java

Abilitazione di NPAPI in Chrome versione 42 e successive
A partire dalla versione 42 di Chrome, è richiesto un passo di configurazione supplementare per continuare a usare i plugin NPAPI.

Nella barra degli URL, immettere:

chrome://flags/#enable-npapi 

Fate clic sul collegamento Abilita per l’opzione di configurazione Abilita NPAPI.
Fate clic sul pulsante Riavvia che ora compare nella parte inferiore della pagina di configurazione.
Gli sviluppatori e gli amministratori di sistema interessati a metodi alternativi per supportare gli utenti di Chrome possono vedere questo blog, in particolare le sezioni relative all’esecuzione di applicazioni Web Start al di fuori di un browser e alle altre opzioni di distribuzione.