Erreur PHP – require_once(): Unable to allocate memory for pool

Depuis peu, PHP me sort des erreurs assez bizarres, à savoir des “Unable to allocate memory for pool“. Ceci se passe notamment sur les fonctions require_once et include_once. Après quelques temps de recherche, il s’avère que c’est en fait APC qui créé cette erreur lorsqu’il n’a plus assez de place dans sa mémoire.

C’est pourquoi, pour éviter ce bug – voir ici le rapport de bug sur php.net – vous devez augmenter la mémoire allouée à APC avant d’attendre une mise à jour corrigeant ce problème.
Dans le fichier /etc/php.d/apc.ini (sous CentOS) éditez donc la ligne contenant la directive apc.shm_size en y ajoutant plusieurs mégas. Pour information, voici la configuration du serveur hébergeant D-Sites.com:

facebooktwittergoogle_plusredditpinterestlinkedinmail

ActionScript: Socket.writeUTFBytes ne marche pas

Pendant de nombreuses heures, j’ai chercher à faire marcher les Sockets d’ActionScript. Ceux-ci ne marchaient pas, alors que le policyfile était chargé, il y a avait même un socket policy file server de mis en place, et le policyfile.txt ne m’affichais que des résultats positifs. Encore plus impressionnant, le socket créait une connexion mais les différentes commandes que je souhaitait envoyer ne passaient pas… C’est pourquoi, au bout d’un moment, j’ai utiliser Wireshark pour analyser les différents paquets envoyés. C’est avec celui-ci que j’ai pu voir que uniquement des paquets ACK et SYN étaient envoyés entre le client (via le Flash) et le serveur (socket). Ceux-ci étaient responsables de la connexion établie.

Seulement, les paquets réseau PSH (pour Push) qui envoient les commandes n’étaient pas créés, pas même de paquets déformés contenant mes commandes. Je suis sur Ubuntu 64bits, avec un Flash Player 10, version débuguage 32bits. Donc, un petit essai sur Ubuntu 32bits avec le flash player “basique”, et… miracle, ça marche ! Windows XP, ça marche !

En fait, mon code marchait depuis longtemps mais, pas de bol, ma version du Flash Player est bugguée avec les Sockets… Par conséquent, lorsqu’il se passe des choses comme ça, essayez avec d’autres versions, d’autres environnement car il arrive que se ne soit pas votre application qui soit bugguée mais une autre ! 😉

facebooktwittergoogle_plusredditpinterestlinkedinmail

PHP 5.2.10 – PEAR est cassé

En changeant de version vers la nouvelle à cause d’un BUG, il est possible d’en trouver d’autres… C’est le cas dans PHP 5.2.10 où le package PEAR n’est pas bien installé. Les “channels” ne sont pas bien configurés… En effet, lors de la compilation, on a déjà des erreurs comme celles-ci:

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 139

C’est donc bien que le phar des channels n’est pas correct. Après l’installation, lorsque l’on essaye d’installer le packet Net_IPv6 par exemple, on a ce message:

pear.php.net is using a unsupported protocal – This should never happen.
install failed

Continue reading PHP 5.2.10 – PEAR est cassé

facebooktwittergoogle_plusredditpinterestlinkedinmail