Compilation PHP sous Windows

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Compilation PHP sous Windows

Re: Compilation PHP sous Windows

par niuxe » 07 janv. 2014, 19:23

Salut,

Je ne sais pas comment compiler un dll sur windows. Par contre, tu peux t'installer une VM avec un LAMP. ;) D'ailleurs, ça me semble beaucoup plus efficace sur le long terme (serveur pré prod).

Compilation PHP sous Windows

par Cyanatide » 06 janv. 2014, 22:44

Bonjour,
Je voudrais mettre a jour mon extension timezonedb.dll d'un vieux projet tournant sous php 5.3 compilé avec VC6 (années 90, oh yeah!). Pour cela je suis les indications de cette page pour compiler le PECL timezonedb.
Voici ma commande configure et le résumé qu'elle me donne:
configure --disable-all --enable-cli --enable-timezonedb=shared
Enabled extensions:
| Extension | Mode |
| date | static |
| ereg | static |
| pcre | static |
| reflection | static |
| spl | static |
| standard | static |
| timezonedb | shared |
Enabled SAPI:
| Sapi Name |
| cli |
| Build type | Release |
| Thread Safety | Yes |
| Compiler | MSVC6 (Visual C++ 6.0) |
| Architecture | x86 |
Tout me semble correcte donc je continue avec mon nmake, et voici ce que j'obtiens après quelques secondes de compilation:
ext\standard\crypt_sha256.c(460) : error C2059: syntax error : '&'
ext\standard\crypt_sha256.c(460) : error C2059: syntax error : ')'
ext\standard\crypt_sha256.c(463) : error C2065: 'p_bytes' : undeclared identifier
ext\standard\crypt_sha256.c(463) : fatal error C1903: unable to recover from previous error(s); stopping compilation
NMAKE : fatal error U1077: '"cl.exe"' : return code '0x2'
Stop.
J'ai lu que c'était un bug de php sur cette page. Le bug semble bien avoir été corrigé mais je n'arrive pas a récupérer la version corrigeant ce bug. J'ai bien essayé en téléchargeant les sources de la dernière version 5.3, mais d'une part, j'aimerai autant que possible conserver la même version de php, et d'autre par, je tombe sur une autre erreur avant d'arriver à la compilation de crypt_sha (constante non définie dans SAPI.c, je pense que cela vient de VC6 qui n'est pas supporté par la dernière version).

Bref, je me disais, juste pour compiler timezonedb je ne pense pas avoir besoin de cette extension. Du coup est il possible "passer" la compilation des fichiers crypt_sha, ou bien avez vous une autre solution a me proposer?

Au passage, j'ai aussi essayé de ne compiler que ma dll comme spécifié dans le tuto, voici ce que j'obtiens:
C:\php-sdk\phpdev\vc6\x86\php-5.3.5>nmake php_timezonedb.dll
Microsoft (R) Program Maintenance Utility Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.
NMAKE : fatal error U1073: don't know how to make 'php_timezonedb.dll'
Stop.
Est ce que ça vous parait normal?
Merci d'avance!