Astuces DEV

, par _Eric_

max_execution_time = 300     ; Maximum execution time of each script, in seconds
max_input_time = 60	; Maximum amount of time each script may spend parsing request data
memory_limit = 512M      ; Maximum amount of memory a script may consume (8MB)

; Maximum size of POST data that PHP will accept.
post_max_size = 64M

; Maximum allowed size for uploaded files.
upload_max_filesize = 64M

extension=yaml.so

[OPcache]
MAMP_OPcache_MAMPzend_extension="/Applications/MAMP/bin/php/php7.2.33/lib/php/extensions/no-debug-non-zts-20170718/opcache.so"
  opcache.memory_consumption=128
  opcache.interned_strings_buffer=8
  opcache.max_accelerated_files=4000
  opcache.revalidate_freq=60
  opcache.fast_shutdown=1
  opcache.enable_cli=1

[xdebug]
MAMP_Xdebug_MAMPzend_extension="/Applications/MAMP/bin/php/php7.2.33/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so"
 xdebug.remote_enable=1
 xdebug.remote_host=127.0.0.1
 xdebug.remote_port=9000
 xdebug.remote_autostart=1
 xdebug.idekey=default
 xdebug.var_display_max_data=2048
 xdebug.show_local_vars=1
 xdebug.collect_params=4
 xdebug.var_display_max_depth=10

Si on utilise MAMP il ne faut pas oublier de décocher l’option « autoriser uniquement un accès local »

Il faut resynchroniser la base de données en lançant la commande « View > Tool Windows > Database > Synchronize (button) ». En fait, dans la fenêtre Database, la base de données en erreur apparait sans contenu.

Et bien c’est pas immédiat !
il faut enchainer quelques actions dont il est important de comprendre la signification :

  1. « fork a repository » : dupliquer le dépôt d’un utilisateur Github. Un nouveau dépôt est donc créé dans votre environnement Github uniquement et une icône et un libellé spécifique permet de comprendre son origine (forked) ;
  2. « clone a repository » : installer un dépôt en local sur votre machine. Ce peut être un dépôt « forké » (clone a fork) ou pas. A partir de ce moment les fichiers du dépôt sont modifiables en local sur votre machine comme une copie de travail SVN.
  3. « commit changes » : après avoir fait les modifications en local sur la copie de travail il est temps d’enregistrer ces modifications. Par contre, contrairement à SVN la commande commit va uniquement enregistrer les modifications en local sur votre dépôt de travail. Aucune modification n’est encore synchronisée avec votre fork sur Github.
  4. « sync changes » : permet de synchroniser les commits stockés en local sur votre dépôt distant sur Github qu’il soit « forké » ou pas.
  5. « pull request » : si votre dépôt « forké » sur Github contient les dernières modifications, le dépôt original lui n’est toujours pas modifié. Si vous souhaitez partager vos modifications avec l’auteur du dépôt original il faut proposer vos modifications en utilisant cette commande.

Pour changer les droits :
nano svn/smellup.net/conf/authz
On ajoute les droits par exemple avec kent1 = rw par exemple dans [/]

Pour créer des auteurs :
aller dans svn/smellup.net/conf/passwd
utiliser la commande htpasswd -m svn/smellup.net/conf/passwd user

Pour plus d’information http://technique.arscenic.org/servi...

Aller chercher le binaire du client SVN sur wandisco. Le package s’installe dans /opt/subversion/. Pour utiliser la commande CLI svn il est nécessaire de rajouter le chemin des binaires dans le PATH. Pour se faire, le plus simple est de modifier ou créer le fichier .profile à la racine de l’utilisateur courant.
Si le fichier n’existe pas on utilise juste le terminal ainsi :

Ne pas oublier de rajouter la ligne suivante dans le fichier .profile à la racine du compte utilisateur :
export PATH=/opt/subversion/bin :$PATH

Tout d’abord il faut récupérer l’archive PHP sur le site de l’auteur via curl :

Ensuite, il faut rendre le fichier exécutable et le transférer dans un dossier un peu standard. Pour éviter de disperser tous ces outils optionnels je les regroupe dans /opt (comme subversion) :

Enfin, il faut modifier le .profile en ajoutant le dossier /opt/bin dans le PATh si ce n’est pas déjà le cas.

Pour effectuer une mise à jour, il suffit de lancer la commande suivante :

Deux solutions possibles. La plus simple est de récupérer le .phar, composer.phar, sur la page dédiée, de le transférer dans un dossier un peu standard et de le rendre exécutable. Pour éviter de disperser tous ces outils optionnels je les regroupe dans /opt (comme subversion) :

Une autre solution est de lancer au terminal chacune des commandes suivantes :

Il suffit de se rendre sur la page des téléchargements https://nodejs.org/en/download/ et de télécharger l’installeur MacOS soit de la version LTS soit de la version courante. Node.js et npm seront alors tous deux installés dans /usr/local/bin (/usr/local/bin/node et /usr/local/bin/npm).

Une fois que Node.js est installé il est possible d’invoquer npm. Pour installer lessc il suffit alors de lancer au terminal la commande suivante :

L’implémentation dart-sass est aujourd’hui utilisée de façon canonique par SASS à la place de Ruby. On va donc installer cette nouvelle implémentation.
On télécharge l’archive sur la page Github https://github.com/sass/dart-sass/r... et on la décompresse. Le répertoire dart-sass/ obtenu est copié dans /opt avec mes autres applications externes.
Enfin, il faut modifier le .profile en ajoutant le dossier /opt/dart-sass dans le PATh.

La documentation de SPIP-Contrib est presque bonne à ceci prêt que pour installer dans /opt il faut prendre quelques précautions. La procédure qui a fonctionné est la suivante :

Et pour utiliser la commande spip simplement :

On suppose que l’on a une réplique du dossier _plugins_ de la zone et qu’on s’y positionne. Le plugin se nomme monplugin :

Elle est ici : ~/.ssh/id_rsa.pub

Copier le le répertoire ~/.ssh/ à la racine du compte utilisateur du nouvel ordinateur. Ensuite, générer le fichier qui permet d’autoriser la clé publique comme clé d’authentification de l’utilisateur en lançant à partir du répertoire ~/.ssh/ la commande :

Depuis MySQL 5.6 ou 5.7 la variable sql_mode est souvent initialisée avec NO_ZERO_DATE activée. Cette option empêche l’utilisation des valeurs ’0000-00-00 00:00:00’ pour un champ datetime ce que SPIP fait en standard. Il faut donc supprimer cette option sur les SPIP actuels (3.2 et antérieurs).
La variable sql_mode est accessible dans phpmyAdmin. Il suffit de copier la valeur et de la recopier dans le my.cnf dans la rubrique [mysqld] en supprimant le NO_ZERO_DATE ainsi :

Un fois le git clone classique effectué, il faut se rendre dans le dossier racine du repo local et invoquer la commande suivante :

Trois possibilités :

  • avec $x === null on est toujours sur d’être relativement bon et c’est future proof ;
  • avec \is_null($x) c’est encore mieux mais lourd à écrire partout ;
  • avec is_null($x) c’est aussi très bien sans namespace, mais si jamais on a un namespace ça devient très mauvais...

Il faut rajouter une directive Header dans le fichier httpd.conf :