【问题标题】:litespeed - Fatal error: Call to undefined function curl_init()litespeed - 致命错误:调用未定义的函数 curl_init()
【发布时间】:2017-01-20 22:29:48
【问题描述】:

我在 Centos 6.8 VPS (PHP 5.6.29) 上运行 litespeed 5.1.11。 我在我的 php 代码中使用cUrl。当我以网页浏览方式运行代码时,一切正常,但是当我使用命令运行时,它给了我错误:
Fatal error: Call to undefined function curl_init()
我该如何解决?

我用这个配置参数编译我的 php:

'./configure' '--prefix=/usr/local/lsws/lsphp5' '--disable-fileinfo' '--with-bz2' '--enable-zip' '--with-curl' '--with-mysql' '--with-mysql-sock' '--with-sqlite' '--with-tidy' '--with-xpm-dir' '--enable-pdo' '--with-pdo-sqlite' '--with-pdo-mysql' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-gd-native-ttf' '--enable-libxml' '--enable-soap' '--with-gettext' '--with-jpeg-dir=/usr' '--with-kerberos' '--with-mcrypt' '--with-mysqli' '--with-openssl' '--with-pic' '--with-png-dir' '--with-zlib' '--with-pcre-regex' '--with-gd' '--enable-shmop' '--enable-track-vars' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-magic-quotes' '--enable-mbstring' '--with-iconv' '--enable-json' '--with-litespeed'

和 phpinfo 中的 cUrl 部分:

【问题讨论】:

  • 听起来您正在使用两个单独的 php 引擎:一个用于您的“网页”,因此很可能作为某个 http 服务器中的模块,另一个用于“命令”,因此是 CLI 版本。这些通常有单独的配置。可能cURL 尚未为 CLI 版本加载/启用。
  • @arkascha 感谢您的评论。我使用这个命令:/usr/local/bin/lsphp /my/code.php。如何找到CLI的配置文件?
  • 你从引擎给出的信息中获取路径:/usr/local/bin/php -i | grep php.ini

标签: php curl centos fatal-error litespeed


【解决方案1】:

编译 PHP 后,您应该获得 lsphp 和 php 二进制文件。如果前缀是/usr/local/lsws/lsphp5,你编译的二进制文件应该在/usr/local/lsws/lsphp5/bin/,那么对于CLI,用你的代码试试php。

/usr/local/lsws/lsphp5/bin/php /my/code.php

/usr/local/bin/lsphp 或 /usr/local/bin/php 看起来不像您编译的那个,因为它们不在前缀文件夹下。

另外,我不知道您是否有任何特殊原因要自己编译 PHP,因为大多数人只会使用来自 LiteSpeed 存储库或 Remi 存储库的 RPM 包。安装要容易得多,它应该是正确的。

https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:php:rpm

【讨论】:

    【解决方案2】:

    我解决了我的问题。 我应该把它添加到Configure Parameters

    '--exec-prefix=/usr' '--with-exec-dir=/usr/bin'

    现在我用这个配置参数编译我的 php:

    --disable-fileinfo --with-bz2 --enable-zip --with-curl --with-mysql --with-mysql-sock --with-sqlite --with-tidy --with-xpm -dir --enable-pdo --with-pdo-sqlite --with-pdo-mysql --enable-bcmath --enable-calendar --enable-ftp --enable-gd-native-ttf --enable-libxml --enable-soap --with-gettext --with-jpeg-dir=/usr --with-kerberos --with-mcrypt --with-mysqli --with-openssl --with-pic --with-png -dir --with-zlib --with-pcre-regex --with-gd --enable-shmop --enable-track-vars --enable-sockets --enable-sysvsem --enable-sysvshm --enable-魔术引号 --enable-mbstring --with-iconv --enable-exif --enable-ucd-snmp-hack --enable-xml --enable-json --libdir=/usr/lib64 --with-libdir =lib64 --exec-prefix=/usr --with-exec-dir=/usr/bin --with-freetype-dir=/usr --with-pcre-regex=/usr --with-gmp --with -layout=GNU --with-system-tzdata --with-apxs2=/usr/sbin/apxs --with-libxml-dir=/usr

    现在,我使用/usr/bin/lsphp /my/code.phpphp /my/code.php 通过命令行运行我的代码。

    【讨论】:

    • rpms.remirepo.net/wizard,安装php-litespeed...更简单
    • @RemiCollet 谢谢。我测试了它,但它告诉我:No package php-litespeed available.
    • @RemiCollet 再次感谢。最后我成功安装了 remi,但是当我想使用它时,它会显示这个错误:PHP Fatal error: Class 'mysqli' not found。它似乎不包含mysqli
    • 如向导中所说,yum install php-xxx 为您需要的每个扩展。
    猜你喜欢
    • 1970-01-01
    • 2011-05-27
    • 2021-09-21
    • 2015-06-11
    • 2018-03-31
    • 2012-09-17
    相关资源
    最近更新 更多