【问题标题】:pear environment variables causes errorpear 环境变量导致错误
【发布时间】:2014-01-01 00:23:43
【问题描述】:

我使用 Windows Server 2012 和 PHP 5.3.13。

PHP 安装正常,我现在尝试安装 pear。

我运行 go-pear.bat 并继续按 Enter,(使用我猜的默认值)。

然后运行PEAR_ENV

我检查了环境变量并将PHP_PEAR_PHP_BIN 的值更改为C:\Program Files (x86)\PHP\php.exe,我的php.exe 所在的位置。适用于管理员和系统变量。

现在,当我在命令行中输入 pear 时,我会收到消息 syntax error, unexpected '(' in Unknown on line 14。我单击“确定”,然后得到 pear 的选项。

我猜是因为值中的(x86) 部分引起的?

如果我访问我正在工作的网站,PHP 无法连接到数据库。这是梨的错吗?还是其他问题?

提前致谢

PS

php.ini 中,唯一不是注释且与include_path 相关的行是include_path=".;C:\Program Files (x86)\PHP\pear" 这一行

【问题讨论】:

  • Windows 喜欢将带有空格的目录放在引号中。也许试试include_path=".;\"C:\Program Files (x86)\PHP\pear\"",让它有通常使用的引号?
  • @Jessica 我试试,现在我得到了syntax error, unexpected $end, expecting TC_DOLLAR_CURL or TC_QUOTED_STRING or "" in C:\Program Files (x86)\PHP\php.ini on line 1932。我点击OK,然后我得到syntax error, unexpected '(' in Unknown on line 14。我再次点击 OK,然后我得到 pear 的选项

标签: php pear windows-server-2012


【解决方案1】:

这是因为 PHP “错误地”处理了一行。

打开pear.bat文件,在底部找到下面一行

"%PHP_PEAR_PHP_BIN%" -C -d output_buffering=1 -d safe_mode=0 -d open_basedir="" -d auto_prepend_file="" -d auto_append_file="" -d variables_order=EGPCS -d register_argc_argv="On" -d include_path="%PHP_PEAR_INSTALL_DIR%" -f "%PHP_PEAR_INSTALL_DIR%pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9

并将include_path="%PHP_PEAR_INSTALL_DIR%" 部分替换为"include_path='%PHP_PEAR_INSTALL_DIR%'"

双引号让 shell 满意,而单引号是供 PHP 使用的。

取自 Nasir 的博客here。为我工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    • 1970-01-01
    • 2016-11-04
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2014-03-24
    相关资源
    最近更新 更多