Pergunta : Não pode encontrar DBI.pm no @INC

Olá!, o

I am que tenta usar tarefas programadas (cron) no plesk emitir um lembrete diário a um email address para aniversários em meu escritório, código do
The está abaixo, quando me funciona consegue o seguinte erro message.

Can não encontrar DBI.pm no @INC (o @INC contem: C: /Program arquiva/paralela/Plesk/Additional/Perl/lib C: /Program arquiva/paralela/Plesk/Additional/Perl/site/lib.) no \ testserver \ linha 4.
l/>BEGIN falhou--a compilação abortou no \ testserver \ linha 4.

I de C:\inetpub\vhosts\httpdocs de email2.pl verific para considerar se DBI está instalado using o Perl do comando - MCPAN - o

I de e “DBI instalado” começ a resposta DBI é (os 1.611)

Can que você ajuda por favor?
class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
># notpretty " do class= " do id= " codeSnippet712574 do
connect (“dbi: mysql: $DATABASE: localhost: 3306”, “$USERNAME”, “$PASSWORD”);

# se a identificação é um int, este deve ser “identificação = 0” mas se é um carvão animal ou varchar, ele está correto
meu $settings1 = $dbh->prepare (“selecionar * dos ajustes ONDE identificação = “0” ");  
$settings1->execute ();  

# desde que você está selecionando * que deve incluir a identificação, mas você não ter a identificação nesta lista.
# sup-la é o primeiro campo na fileira, mim adicionou-a
quando (meu ($ID, $Path, $Ops_Email, $From_Email, $Subject, $Monthly_Email, $Email_Reminders) = $settings1->fetchrow_array ()) {

	# movimento sobre se nós não estamos fazendo qualquer coisa
	em seguida a menos que == 1 de $Email_Reminders ou == 1 de $Monthly_Email;

	# diariamente lembretes
	se (== 1 de $Email_Reminders) {

		# nós adicionaremos o começo e a extremidade do corpo somente se havia algum aniversário hoje
		meu ($dailycount, $body);
		$sth->execute ();
		quando (meu ($Name, $Address, City, $State, $Postal, Country, $B_Date) = $sth->fetchrow_array ()) {  
			# adicionar um ao $dailycount
			$dailycount++;

			# começ apenas o ano de $B_Date começ livrado de tudo após o primeiro traço
			(meu $B_Year = $B_Date) =~ s/-.*//;
			meu $age = $yy - $B_Year;

			$body. = “$Name (voltas $age!)\ n”;

		}
		$sth->finish;
		$body. = “\ n”;

		# não emitir alguns se não há nenhuns
		se ($dailycount > 0) {
			$body = <new (
				De =>$From_Email,
				A =>$To_Email,
				Assunto =>$Subject,
				Dados =>$body
			);
			O ### emite na maneira do “melhor” (o defeito é usar o “sendmail”):
			$msg->send;
		}
	}
	# lembretes diários do fim 

	# fazer lembretes mensais se é o primeiro do mês
	se (== 1 de $dd) {
		################  
		# MONTHLYEMAIL #  
		################  

		# preparar a pergunta  
		meu $sthMonthly = $dbh->prepare (“selecionar * dos teamdates ONDE o `de B_Date do `GOSTA “de %-$mm-%” ");  

		# executar a pergunta  
		$sthMonthly->execute ();  

		# nós adicionaremos o começo e a extremidade do corpo somente se havia algum aniversário hoje
		meu ($monthcount, $body);
		quando (meu ($Name, $B_Date) = $sthMonthly->fetchrow_array ()) {
			$monthcount++;

			# começ apenas o ano de $B_Date começ livrado de tudo após o primeiro traço
			(meu $B_Year = $B_Date) =~ s/-.*//;
			meu $age = $yy - $B_Year;
			$body. = “$Name (voltas $age2!) $B_Date \ n”;
		};  
		se ($monthcount) {

			Corpo do correio do ##  
			meu $body = <new (
				De =>$From_Email,
				A =>$Ops_Email,
				Assunto =>$Subject,
				Dados =>$body
			);
			O ### emite na maneira do “melhor” (o defeito é usar o “sendmail”):
			$msg->send;
		}
	}
}
class= do

Resposta : Não pode encontrar DBI.pm no @INC

Está aqui meu truque favorito para determinar onde o Module.pm que você precisa é encontrado.

Perl - MDBI - d - e0 e então datilografam V no alerta do depurador de programas, a seguir encontram o módulo e seu trajeto associado:

Olhar abaixo para um transcrito…


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
>perl de C:\Documents and Settings\jerome - MDBI - d - e0

Rotinas do DB do carregamento da versão 1.3 de perl5db.pl
Sustentação do editor disponível.

Incorporar h ou “h h” para a ajuda, ou do “perldebug perldoc” para mais ajuda.

cano principal:: (- e: 1):   0

  DB<1> v
1==>    0

  DB<1> V
$ = '
'
Fileno do => de FileHandle (stderr) (2)
%SIG = (
   Undef do => de “ABRT”
   Undef do => de “ALRM”
   Undef do => da “RUPTURA”
   CÓDIGO do => da “BARRA-ÔNIBUS” (0x19e1504)
      - > &CODE (0x19e1504) dentro???
   Undef do => de “CHLD”
   Undef do => do “CLD”
   Undef “CONT” do =>
   Undef do => de “FPE”
   Undef do => de “HUP”
   Undef “DOENTE” do =>
   CÓDIGO do => do “INT” (0x19beb34)
      - > &DB:: prendedor em 0
   Undef do => da “MATANÇA”
   Undef do => “NUM05”
   Undef do => “NUM06”
   Undef do => “NUM07”
   Undef do => “NUM10”
   Undef do => “NUM12”
   Undef do => “NUM16”
   Undef do => “NUM17”
   Undef do => “NUM18”
   Undef do => “NUM19”
   Undef do => “NUM24”
   Undef do => da “TUBULAÇÃO”
   Undef “PARADO” do =>
   CÓDIGO do => de “SEGV” (0x19e1504)
      - > REUSED_ADDRESS
   “PARAR” o undef do =>
   “DENOMINAR” o undef do =>
   Readline” do => “do “GUINCHO:: get_window_size”
   CÓDIGO do => do “__DIE” (0x19e1934)
      - > &DB:: dbdie em 0
   CÓDIGO do => do “__WARN” (0x19e1734)
      - > &DB:: dbwarn em 0
)
$^L = “\ cL”
$^ = “OUT_TOP”
$$ = 16540
$ \ = ''
$ - = 0
@ - = (
   0  entalhes vazios
   1  entalhe vazio
   entalhe  2 vazio
)
$! = “nenhum tal lima ou diretório”
$^X = “C:\ \ Perl \ \ \ do escaninho \ perl.exe”
$^UNICODE = 0
$^V = v5.10.0
$= = 60
$2 = ''
$^WARNING_BITS = “\ c@ \ c@ \ c@ \ c@ \ c@ \ c@ \ c@ \ c@ \ c@ \ c@ \ c@ \ c@”
Fileno do => de FileHandle (stdin) (0)
@INC = (
   0  “C: /Perl/site/lib”
   1  “C: /Perl/lib”
   2  “.”
)
%INC = (
   “ActivePerl/Config.pm” => “C: /Perl/lib/ActivePerl/Config.pm”
   “ActiveState/Path.pm” => “C: /Perl/lib/ActiveState/Path.pm”
   “AutoLoader.pm” => “C: /Perl/lib/AutoLoader.pm”
   “C: /Perl/site/lib/sitecustomize.pl” => “C: /Perl/site/lib/sitecustomize.pl”
   “Carp.pm” => “C: /Perl/lib/Carp.pm”
   “Carpa/Heavy.pm” => “C: /Perl/lib/Carp/Heavy.pm”
   “Config.pm” => “C: /Perl/lib/Config.pm”
   “Config_heavy.pl” => “C: /Perl/lib/Config_heavy.pl”
   “Cwd.pm” => “C: /Perl/lib/Cwd.pm”
   “DBI.pm” => “C: /Perl/lib/DBI.pm”  <--------------------->
           
Outras soluções  
 
programming4us programming4us