我一直在尝试在启用PDO的Ubuntu(16.04)中安装php(7.2)。我不需要php作为apache模块,因为我想使用PHP的内置服务器(在cli模式下,例如php -S localhost:80
)。
所以,这是我的工作:
sudo apt-get install php
sudo apt-get install php-mysql
sudo cp /usr/lib/php/7.2/php.ini-production.cli /etc/php/7.2/cli/php.ini
现在,在php.ini中取消注释:
extension=pdo_mysql
而且仍然在我运行时php -v
出现错误:
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_mysql' (tried: /usr/lib/php/20170718/pdo_mysql (/usr/lib/php/20170718/pdo_mysql: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/pdo_mysql.so (/usr/lib/php/20170718/pdo_mysql.so: undefined symbol: pdo_parse_params)) in Unknown on line 0
php -m
输出:
[PHP Modules]
Core
date
filter
hash
libxml
openssl
pcntl
pcre
Reflection
session
sodium
SPL
standard
zlib
[Zend Modules]
试试这个stackoverflow.com/a/42929132/299774
—
Grzegorz
sudo phpenmod pdo_mysql
给我/usr/sbin/phpenmod: 31: .: Can't open /usr/lib/php/php-helper
上面的回答说,在ubuntu 16.04中,您不需要启用mod,只需尝试安装并重新启动即可。
—
Grzegorz
哦,等等-您在CLI中完成操作,在这种情况下,无需重新启动apache。
—
Grzegorz
是的,apache2处于非活动状态
—
Dan Miller,