我有一个调用一个PHP脚本解析文本文件后,插入数据库记录的shell脚本。 当调用PHP脚本,它无法找到的mysqli我得到的错误:
PHP Fatal error: Class 'mysqli' not found in /path/to/php/file.php on line 5
这种失败在本地上的MacBook Pro与Nginx的和PHP-FPM和MySQL的5.5.x后,我加入了插座参数去mysqli的呼叫时,它在本地工作。 这个工作与本地数据库!
$mysqli = new mysqli("localhost", "user", "pass", "mydb", 3306, "/tmp/mysql.sock");
我部署到Linux服务器(CentOS6有“百胜安装PHP”用PHP 5.3.x)安装。 我换到远程数据库服务器的连接,所以放弃了“/tmp/mysql.sock”,因为数据库在此服务器上没有运行。
shell脚本调用PHP执行脚本:
php -c "/etc/php.ini" -f "/path/to/php/file.php"
由于我不是在本地运行mysql的,我怎么得到它的认可和mysqli lib和执行。 这是对CentOS6。 我甚至尝试添加mysqli.so为php.ini文件,并得到了以下错误:
[mike@app2 myapp]# php -version
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysqli.so' - /usr/lib64/php/modules/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP 5.3.3 (cli) (built: Feb 2 2012 23:47:49)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
感谢您解决这个任何帮助。 一般情况下我使用mysql(查询),但需要mysqli的()为脚本中的一些预处理语句和其他位。