Bonjour, C’est Gaëtan, Développeur web Freelance dans les Alpes.

Jan 10


Salut à tous,
Dans la serie des packs wordpress pour free.fr je vous présente le tout nouveau pack 3.5!

Comment ça marche pour une nouvelle installation?
C’est tout simple, mais n’oubliez pas d’activer votre base Mysql.


1. On commence par mettre, à la racine de son FTP free, un fichier nommé « .htaccess » (le point dans le nom est important)
Dans ce fichier on met seulement une ligne:

<pre lang="php">php 1

 

2. On envoie le contenu de mon zip wordpress 3.5 pour free.fr sur ce FTP.
3. On visite le dossier, et on suit les instructions de wordpress.
4. Et voilà, c’est déjà fini

NB: Pour une mises à jour à partir des versions precedente, vous pouvez à priori utiliser ce pack comme si c’était une archive wordpress et suivre ce genre de tuto.

NB #2: La 3.5 est couteuse en mémoire, ce qui limite énormément nombre de plugins utilisables.

NB #3: J’utilise toujours upgradephp pour emuler les fonctions php manquantes dans le gap php 5.1 -> 5.2.
Je touche un minimum au coeur de WP:

  • wp-include/version.php pour faire croire qu’on a une version suffisamment élevée.
  • wp-admin/install.php pour inclure les fct manquantes pendant l’installation.
  • wp-include/functions.php pour inclure les fct manquantes pendant l’utilisation.
  • wp-include/pluggable.php pour enlever le 7eme param de setcookie() qui n’existe pas dans php 5.1
  • l’astuce de rodolphe via core.trac.wordpress.org  pour optimiser la mémoire.

    N’hésitez pas à commenter si vous avez un problème, j’ai pu oublier quelque chose.

Jun 21


Pour mes travaux web (PHP principalement) j’utilise une machine virtuelle (VM) virtualbox Ubuntu (version server).
Ayant une bonne machine, avec un jeu de VirtualHost et un dossier partagé intelligemment choisi, je peux facilement tester mes développements sur une config linux proche de celle utilisée en prod.
L’avantage c’est que je ne quitte pas mon OS préféré et que le déploiement en production est instantané.

Comme l’installation n’était pas tricky, voilà une petite aide pour vous aider à pouvoir débugger avec xdebug dans cet environnement un peu particulier (du remote debugging avec OS divers)

Il faut tout d’abord configurer l’interface réseau de la machine virtuel en sélectionner « Accès par pont ». On utilise alors l’adresse mac de la machine pour obtenir une IP fixe (voir config de votre box).

Sur Ubuntu, dans la VM donc, après avoir installé xdebug, on ajoute dans /etc/php5/apache2/php.ini (le php.ini de mod_php).

<pre lang="php">zend_extension=/usr/lib/php5/extensions/xdebug.so
xdebug.remote_enable=1
xdebug.idekey="netbeans-xdebug"
xdebug.remote_handler=dbgp
xdebug.extended_info=1
xdebug.remote_connect_back=1
xdebug.remote_port=9000
xdebug.remote_log=/var/log/xdebug.log

sur la machine mère, on crée un répertoire à la rachine C:/media/workspace, D:/media/workspace sur windows, ou /media/workspace/ sur Os X.
Il faut alors ajouter ce dossier à la VM, de manière permanente (utilisez workspace pour le nom):

Dans la machine virtuelle, je monte automatiquement ce dossier (il faut installer Guest Addition si vous utilisez VirtualBox).
Pour ce faire, plusieurs solutions: via le /etc/fstab ou, comme j’ai choisi, une ligne dans /etc/rc.local

<pre lang="batch">
mount -t vboxsf workspace /media/workspace
exit 0

Note: N’utilisez pas le montage automatique proposé par VirtualBox. En effet, il fonctionne mais ne montera pas votre dossier celon la même arborescence et Xdebug ne retrouvera pas ses petits (c’est la clef du process).

Dans vos VirtualHost, vous utiliserez donc les sous dossiers de /media/workspace comme DocumentRoot:

<pre lang="php"><virtualhost>
     DocumentRoot /media/workspace/VOTRE_SOUS_DOSSIER_PROJET
     ServerName NOM_DU_SERVEUR_PROD_FINAL
     <directory>
          Order allow,deny
          allow from all
          allowOverride all
     </directory>
     ErrorLog ${APACHE_LOG_DIR}/error_VOTRE_PROJET.log
</virtualhost>

Installez tout ce qui va bien sur netbeans, configurez correctement vos fichier hosts (sur les deux machine)

/etc/hosts de la VM

<pre lang="php">127.0.0.1     NOM_DU_SERVEUR_PROD_FINAL

C:/Windows/Systeme32/drivers/etc/hosts ou /etc/hosts pour respectivement windows et OS X mère.

<pre lang="php">IP_FIXE_VM     NOM_DU_SERVEUR_PROD_FINAL

voilà, maintenant en visitant NOM_DU_SERVEUR_PROD_FINAL, vous devriez avoir votre projet, et vous devriez aussi pouvoir le débugger correctement depuis NetBeans.

/!\ les chemins serveur (VM) et machine mère doivent être les mêmes. (surtout sur Windows apparemment).

Mes sources: