【问题标题】:undefined function mysql_connect() from terminal来自终端的未定义函数 mysql_connect()
【发布时间】:2014-09-20 06:40:04
【问题描述】:

我最近在我的机器(ubuntu 12.04 LTS 32bit)中安装了pthreads,此后 mysql_connect() 无法从终端运行(也通过 CRON JOB)。但是通过浏览器可以正常工作。

我按照these的步骤安装pthreads

# Required libraries
sudo apt-get install gcc make libzzip-dev libreadline-dev libxml2-dev \
libssl-dev libmcrypt-dev libcurl4-openssl-dev lib32bz2-dev 

# Download PHP
cd /usr/local/src

wget http://www.php.net/distributions/php-<version>.tar.gz
( e.g. wget http://www.php.net/distributions/php-5.5.8.tar.gz )

# Extract
tar zxvf php-<version>.tar.gz
(e.g. tar zxvf php-5.5.8.tar.gz )

# Configure
cd /usr/local/src/php-<version>
( e.g. cd /usr/local/src/php-5.5.8 )

./configure --prefix=/usr --with-config-file-path=/etc --enable-maintainer-zts

# Compile
make && make install
( make -j3 && make -j3 install) -> Faster building

# Copy configuration
cp php.ini-development /etc/php.ini

# Install pthreads
pecl install pthreads
echo "extension=pthreads.so" >> /etc/php.ini

# Check installation
php -m | grep pthreads

注意:之前我使用的是 PHP 5.3.10。现在这个安装升级到 PHP 5.5.8。 我也尝试添加

extension=mysql.so

也进入以下位置的 php.ini 文件。

/etc/php5/apache2/php.ini

/etc/php5/cli/php.ini

提前致谢

【问题讨论】:

  • 我认为您的问题会更相关,并获得更多帮助,请访问 Server Fault。 Stack Overflow 主要处理编程问题,较少处理服务器设置。
  • 注意:你可以使用php --ini从终端找到加载的配置文件。

标签: php mysql ubuntu


【解决方案1】:

应该更像:

./configure --prefix=/usr \
            --with-config-file-path=/etc \
            --enable-maintainer-zts \
            --with-mysql=mysqlnd \
            --with-mysqli=mysqlnd \
            --with-pdo-mysql=mysqlnd

见:

./configure --help

对于选项。

注意 mysql 已弃用,请改用 mysqli 或 pdo-mysql

【讨论】:

  • Mysql 错误已修复并开始获取新的“PHP 致命错误:调用未定义函数 curl_init()”,同时检查 phpinfo(),启用 cURL 支持。仍然没有得到。有什么想法吗?
  • --with-curl 应该这样做,记得在构建之间进行清理;)
猜你喜欢
  • 2012-11-29
  • 2012-05-26
  • 2016-03-15
  • 1970-01-01
  • 2012-01-22
  • 1970-01-01
相关资源
最近更新 更多