小编Lar*_*ars的帖子

Mac OS X上的DBD :: Pg - 找不到任何方法

我从命令行执行.cgi(作为有权访问数据库的用户)

install_driver(Pg)失败:无法在@INC中找到DBD/Pg.pm(@INC包含:/ Library/Perl/5.12/darwin-thread-multi-2level /Library/Perl/5.12/Network/Library/Perl/5.12/darwin-thread-multi-2level /Network/Library/Perl/5.12 /Library/Perl/Updates/5.12.4 /System/Library/Perl/5.12/darwin-thread-multi-2level/System/Library/Perl/5.12 /System/Library/Perl/Extras/5.12/darwin-thread-multi-2level /System/Library/Perl/Extras/5.12.)at(eval 4)3行.也许DBD :: Pg perl模块还没有已完全安装,或者'Pg'的大写不正确.

cpan -D DBD :: Pg显示

DBD :: PG

用于DBI的Postgres驱动程序T/TU/TURNSTEP/DBD-Pg-2.19.2.tar.gz /opt/local/lib/perl5/site_perl/5.12.4/darwin-thread-multi-2level/DBD/Pg.pm已安装:2.19.2 CPAN:2.19.2最新DBD :: Pg开发人员(DBDPG)dbd-pg@perl.org

尝试通过PERL5LIB或PERLLIB导出上述路径没有不同的结果.

.cgi引用/ usr/bin/perl,它告诉我们

这是为darwin-thread-multi-2level构建的perl 5,版本12,subversion 4(v5.12.4)(有2个已注册的补丁,有关详细信息,请参阅perl -V)

我喜欢永久地将模块路径设置为安装DBD :: Pg的路径(/ opt/...).我想知道为什么错误输出目录列表没有提到.

我通过cpanm安装了DBD :: Pg.

我使用的是Mac OS X Mountain Lion.

macos perl cgi-bin dbd-pg

0
推荐指数
1
解决办法
2593
查看次数

什么解释Perl文件名检查?

代码'if(-e"filename")'测试在包含该代码的脚本的目录中是否存在具有名称filename的文件.

怎么做名字检查?Perl的?操作系统?Bash on POSIX-os?

'if(-e"cat string")'会在Linux上执行cat命令吗?


我想知道为了能够避免不需要的文件访问,如"../file"将访问父目录中的文件.


要分享我的支票代码:

if($folder =~ m/$([\\]?\.[\\]?\.|[\\]?\\|[\\]?\/|[\\]?\?|[\\]?*|[\\]?:|[\\]?\||[\\]?\"|[\\]?\<|[\\]?\>)^|$([\\]?\.[\\]?\.|[\\]?\\|[\\]?\/|[\\]?\?|[\\]?*|[\\]?:|[\\]?\||[\\]?\"|[\\]?\<|[\\]?\>)\/|\/([\\]?\.[\\]?\.|[\\]?\\|[\\]?\/|[\\]?\?|[\\]?*|[\\]?:|[\\]?\||[\\]?\"|[\\]?\<|[\\]?\>)\/|\/([\\]?\.[\\]?\.|[\\]?\\|[\\]?\/|[\\]?\?|[\\]?*|[\\]?:|[\\]?\||[\\]?\"|[\\]?\<|[\\]?\>)^|\$'[^']*'/)
{
    #error
}
Run Code Online (Sandbox Code Playgroud)


更新正则表达式:

if($folder =~ m/(\/|\\)|$([\\]?\.[\\]?\.^|$[\\]?(\*|\?)^|\$'[^']*'/)
{
    #error
}
Run Code Online (Sandbox Code Playgroud)

说明:$ folder必须是纯文件名.如果它包含Windows或POSIX路径分隔符或是(任何转义的)父目录返回链接或是(任何转义)通配符(因为它匹配第一个匹配的文件并至少在Mac OS X上返回true)或包含C ANSI转义任何地方的序列,信号错误 其他任何东西,即使不合法或阴暗,也应该简单地返回"文件不存在",因此可以提供给'if(-e $文件夹)'.

perl filenames sanitization

0
推荐指数
1
解决办法
123
查看次数

标签 统计

perl ×2

cgi-bin ×1

dbd-pg ×1

filenames ×1

macos ×1

sanitization ×1