2015-10-21 1 views
1

J'ai un serveur Virtuoso fonctionnant sur Centos7 et j'essayais de pouvoir exécuter des fichiers PHP à partir d'un formulaire HTML (même ceux de base juste pour tester), et je n'ai pas eu de chance. J'ai découvert que je devais installer PHP et que j'avais lu la documentation du virtuose GitHub README.php5 pour installer PHP sur le serveur virtuose. C'est la première fois que je mets en place PHP et j'ai rencontré un problème en essayant d'exécuter la commande make. Je suis dans le répertoire /etc/php-5.2.10 et j'ai pu exécuter la commande configure avec tous les drapeaux. L'erreur de la commande make je reçois est:Problème lors de la configuration de PHP sur serveur Virtuoso

/bin/sh /etc/php-5.2.10/libtool --silent --preserve-dup-deps --mode=compile 
/etc/php-5.2.10/meta_ccld -I/usr/local/iODBC/include -Iext/odbc/ -I/etc/php-5.2.10/ext/odbc/ 
-DPHP_ATOM_INC -I/etc/php-5.2.10/include -I/etc/php-5.2.10/main -I/etc/php-5.2.10 
-I/usr/local/iODBC/include -I/etc/php-5.2.10/ext/date/lib -I/usr/include/libxml2 
-I/etc/php-5.2.10/ext/mbstring/oniguruma -I/etc/php-5.2.10/ext/mbstring/libmbfl 
-I/etc/php-5.2.10/ext/mbstring/libmbfl/mbfl -I/etc/php-5.2.10/TSRM -I/etc/php-5.2.10/Zend 
-D_REENTRANT -I/usr/include -g -O2 -pthread -DZTS 
-c /etc/php-5.2.10/ext/odbc/php_odbc.c -o ext/odbc/php_odbc.lo 
In file included from /etc/php-5.2.10/ext/odbc/php_odbc.c:37:0: 
/etc/php-5.2.10/ext/odbc/php_odbc_includes.h:104:22: fatal error: iodbcext.h: 
No such file or directory 
#include <iodbcext.h> 
       ^
compilation terminated. 
make: *** [ext/odbc/php_odbc.lo] Error 1 

Je ne sais pas si ces paquets sont liés, mais pour des informations supplémentaires, je les packages suivants installé:

libiodbc.x86_64 3.52.7-7.el7 
libiodbc-devel.x86_64 3.52.7-7.el7 
php-odbc.x86_64 5.4.16-36.el7_1 
unixODBC.x86_64 2.3.1-10.el7 
unixODBC-devel.x86_64 2.3.1-10.el7 

J'ai couru sudo find/-iname '*iodbcext.h*' pour essayer de déterminer où ce fichier peut être localisé et le seul résultat que je reçois est /usr/include/libiodbc/iodbcext.h. Cependant, je ne sais pas si c'est ce que recherche make ou s'il y en a un autre dans le répertoire php-5.2.10 qui est utilisé, et si c'est le bon, que ferais-je?

Toute aide ou conseil pour obtenir l'installation de PHP sur le serveur Virtuoso est grandement appréciée.

+0

La version de PHP que vous essayez d'installer est ancienne; Il a été publié en Juin 2009. (Ce n'est même pas la version la plus récente dans la branche 5.2.) Pourquoi essayez-vous d'installer cette ancienne d'une version? – duskwuff

+0

J'essayais juste de suivre la version du fichier Readme.php5 que j'ai lié, c'est la seule raison pour laquelle je l'utilisais car je ne suis pas très familier avec Virtuoso, donc je ne voulais pas m'écarter des instructions. – dlchang

+0

Les fonctionnalités PHP de Virtuoso ont été [largement intouchées depuis 2011] (https://github.com/openlink/virtuoso-opensource/commits/develop/7/binsrc/hosting/php/) lorsqu'elles ont ajouté le support initial pour PHP 5,3 ". ([PHP 5.3 a atteint la fin de vie il y a plus d'un an.] (Http://php.net/eol.php)) Je ne pense pas que la fonctionnalité PHP de ce logiciel soit maintenue, et il se peut que trop pourri à utiliser. – duskwuff

Répondre

0

Vous avez installé des packages en conflit, pour les gestionnaires de pilotes iODBC et unixODBC. Il est fortement conseillé de choisir l'un ou l'autre. Étant donné que vous utilisez Virtuoso (de mon employeur, OpenLink Software), je vous conseille de vous installer sur iODBC (également maintenu et pris en charge par OpenLink Software, et devrait généralement être trouvé par Virtuoso).

PHP n'inclut pas le SDK iODBC (libiodbc-devel.x86_64), où se trouve le fichier d'en-tête iodbcext.h. Je devrais noter que la version actuelle d'iODBC est 3.52.10, un peu plus tard que le paquet que vous avez installé ...

Les options que vous avez passées à configure pour obtenir le script make que vous exécutez ne sont pas claires. Vous pouvez être en mesure de passer l'erreur rapportée ci-dessus en éditant la deuxième occurrence de -I/usr/local/iODBC/include dans le script make, en le changeant en -I/usr/include/libiodbc ... mais c'est quelque chose d'une conjecture.

+0

Bonjour @TailTed, on m'a aussi parlé du balisage VSP de Virtuoso. Serait-ce une meilleure façon de chercher à obtenir mes données de formulaire HTML sur mon serveur Virtuoso que de traiter avec PHP? Jusqu'à présent, j'ai trouvé 14.3 VSP (http://docs.openlinksw.com/virtuoso/vsp1.html) page, qui va sur certains des balises de base pour VSP. – dlchang

+0

De plus, j'avais déjà changé mon configure pour inclure '-I/usr/include/libiodbc' pour la deuxième occurrence, je crois que c'est ainsi que j'ai réussi à corriger les erreurs la première fois, mais j'ai eu des problèmes avec le' make'-ing il. J'essaye maintenant avec php-5.6.15, et ai enlevé le paquet unixODBC, et maintenant j'obtiens 'configure: error: Impossible de trouver le (s) fichier (s) d'en-tête pour pdo_odbc' de nouveau. – dlchang

+0

"Mieux" est toujours un appel de jugement. Chez OpenLink, nous croyons en «chevaux pour les cours» - utilisez le meilleur outil pour le travail que vous faites. Je ne sais pas assez sur ce que vous faites pour dire si PHP (que vous connaissez peut-être déjà?) Ou VSP (dont vous ne savez pas encore) ou un autre script/balisage est «meilleur». Encore une fois, je vous encourage à poser vos questions à un plus large public de personnes ayant des connaissances Virtuoso, sur la [liste de diffusion] (https://lists.sourceforge.net/lists/listinfo/virtuoso-users/) ou sur [les forums de support OpenLink. ] (http://boards.openlinksw.com/support/). – TallTed