/ / Perl XS inclus à partir d’un répertoire "use lib" introuvable pour ISAPI

Perl XS inclus dans un répertoire «use lib» ne peut pas être trouvé par ISAPI - perl, iis, isapi

J'ai une application Web Perl qui s'exécute à la fois sur Apache et IIS6 sur Windows Server 2003. Sous Apache, ce script fonctionne parfaitement. Dans IIS utilisant ISAPI, le message d'erreur suivant s'affiche:

Erreur logicielle:
Ne peut pas charger "lib / auto / Sub / Name / Name.dll" pour module Sub :: Nom: fichier_chargement: Le module spécifié n'a pas pu être trouvé à C: /Perl/lib/DynaLoader.pm ligne 230. à lib / DBIx / Class / Schema.pm ligne 10
La compilation a échoué dans require at lib / DBIx / Class / Schema.pm ligne 10.

BEGIN failed - compilation annulée à lib / DBIx / Class / Schema.pm ligne 10.
La compilation a échoué dans require at (eval 39) ligne 3. ... propagé à C: /Perl/lib/CGI/Carp.pm ligne 314.
BEGIN failed - compilation annulée à Ma / Schema.pm ligne 2. Compilation échoué dans besoin à ...

Lorsque vous n'utilisez pas ISAPI dans IIS, tout fonctionne correctement. Nous préférerions continuer à utiliser ISAPI dans nos environnements IIS. Pourquoi ne parvient-il pas à trouver ce module, même s’il le fait lorsqu’il utilise Perl normal?

MODIFIER:

Nous l'appelions avec des chemins relatifs.

use lib qw{My lib};  # line in question
use My::Schema; # explodes

Réponses:

0 pour la réponse № 1

Mobrule, ton commentaire nous a éclairés. Le chemin relatif était différent entre l’interpréteur vanille Perl et ISAPI.

use lib qw{My /Inetpub/wwwroot/cgi/lib};  # a little more specific...
use My::Schema;  # not nearly as much dying now.

Merci pour l'aide!