我在Mac OS X (10.5)上运行Apache2。我刚刚编译了PHP 5.2.8并最终开始工作(或者我认为是这样)。pdo-mysql
此终端命令:
php --version
Run Code Online (Sandbox Code Playgroud)
显示5.2.8并且我安装了正确的模块。
但是,当我执行 a 时phpinfo(),Apache 会转储PHP 5.2.6(我的早期版本,没有pdo_mysql)。
我如何告诉 Apache 加载哪个 PHP?在httpd.conf有一行:
LoadModule php5_module libexec/apache2/libphp5.so
Run Code Online (Sandbox Code Playgroud)
但是,我不知道那是什么或在哪里。
这是我必须改变的吗?
我正在将 AWS RDS 与 MySQL 用于一个项目,并且有一个“大型”实例。就计算资源和 RAM 而言,文档清楚地说明了这意味着什么,但我找不到任何记录我可以拥有多少个打开的数据库连接的内容。我正在使用的应用程序是 PHP,它利用具有持久连接的 PDO。这意味着打开的连接数可以达到在任何给定点运行的最大 PHP 子进程数。我如何确保我的 RDS 实例的最大连接数设置足够高以适应这一点?
我有一个运行 PHP 5.3.2 的新 CentOS 6 服务器。php -v 的输出显示
Unable to load dynamic library '/usr/lib64/php/modules/pdo_mysql.so -
/usr/lib64/php/modules/pdo_mysql.so cannot open shared object file
Run Code Online (Sandbox Code Playgroud)
我修改了 /etc/php.ini 以包含 extension=pdo.so 和 extension=pdo_mysql.so 并重新启动 httpd。我确实安装了 PDO 并且 phpinfo.php 显示安装了 pdo_sqllite??如何安装 pdo_mysql 并纠正上述警告消息?
自托管盒子,
RHEL 6
PHP 5.3.3
PDO 安装了
freetds 安装了
pdo_dblib - 到目前为止没有运气安装
我的目标是在 sybase 中使用 PDO。试图从适当版本的 php 源代码安装 pdo_dblib。我尝试了多种方法并搜索了很多有关此主题的帮助,但尚未成功。
$ ./configure
$ make
$ su root
Password:
$ make install
Run Code Online (Sandbox Code Playgroud)
这是成功的
在 /ext/pdo_dblib 文件夹中:
$ phpize
$ ./configure
$ make
$ make test
Run Code Online (Sandbox Code Playgroud)
错误输出:
PHP Warning: PHP Startup: Unable to load dynamic library '/home/sybase/Install_items/php_533_src/php-5.3.3/ext/pdo_dblib/modules/pdo_dblib.so' - /home/sybase/Install_items/php_533_src/php-5.3.3/ext/pdo_dblib/modules/pdo_dblib.so: undefined symbol: php_pdo_register_driver in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library '/home/sybase/Install_items/php_533_src/php-5.3.3/ext/pdo_dblib/modules/pdo_dblib.so' - /home/sybase/Install_items/php_533_src/php-5.3.3/ext/pdo_dblib/modules/pdo_dblib.so: …Run Code Online (Sandbox Code Playgroud) 我尝试使用以下命令安装 mysql PDO 驱动程序:
$ sudo pecl install pdo_mysql
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
WARNING: "pecl/PDO_MYSQL" is deprecated in favor of "channel://http://svn.php.net/viewvc/php/php-src/trunk/ext/pdo_mysql//ext/pdo_mysql"
WARNING: "pecl/PDO" is deprecated in favor of "channel://http://svn.php.net/viewvc/php/php-src/trunk/ext/pdo//ext/PDO"
downloading PDO_MYSQL-1.0.2.tgz ...
Starting to download PDO_MYSQL-1.0.2.tgz (14,778 bytes)
.....done: 14,778 bytes
downloading PDO-1.0.3.tgz ...
Starting to download PDO-1.0.3.tgz (52,613 bytes)
...done: 52,613 bytes
12 source files, building
running: phpize
sh: phpize: not found
ERROR: `phpize' failed
7 source files, building
running: phpize
sh: phpize: not found
ERROR: `phpize' failed
Run Code Online (Sandbox Code Playgroud)
有人知道如何在 Ubuntu 10.04 中安装 …
我试图让 PDO 与 SQL Server 一起工作,但我完全迷失了。我找到了这个 :
http://www.php.net/manual/en/ref.pdo-dblib.php
http://pecl.php.net/package/PDO_DBLIB
并告诉尝试这个:
sudo apt-get install php5-mssql
Run Code Online (Sandbox Code Playgroud)
我下载了 pecl,但我不知道它是什么,也不知道它去了哪里。该手册没有帮助,即使 sudo 命令确实有效,我也不知道在哪里键入它...
我完全承认,我对这一切完全一无所知,甚至不知道从哪里开始。
我的服务器由一些托管公司托管,它是一个 LAMP,我可以登录到 cPanel。这是我知道的全部。
我正在尝试安装SpaceBukkit。我想知道如何启用pdo_mysql. 尝试设置 MySQL 部分时,出现此错误:
The "pdo_mysql" extension is NOT loaded in your `php.ini`!
Make sure to load it before continuing!
Run Code Online (Sandbox Code Playgroud)
这不是 cPanel 服务器,所以我只能依靠 ssh 和 ftp (sftp)。如果你们可以请告诉我,将不胜感激!
作为旁注,我使用的是 Centos 5。
我被 PDO 异常困住了
PDOException: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in lock_may_be_available() (line 167 of home/../includes/lock.inc).
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,我尝试使用该命令重新创建符号链接。我在 Linux 服务器上工作。
ln -s /home/../mysql/tmp/mysql.sock /tmp/mysql.sock
Run Code Online (Sandbox Code Playgroud)
执行上述sql语句时,PDO异常没有变化。后来,我错误地删除了mysql.sock文件"/home/../mysql/tmp/"(不在“/tmp”中)。
如何取回或重新创建mysql.sock文件。关于 PDO 异常以及如何解决它的任何想法。
我正在测试使用 Ubuntu Server 18.04 LTS、NGINX 1.14、PHP 7.2.8 和 MySQL 8.0.12 构建的新 LEMP 网络服务器。它是一个使用官方 Canonical AMI 的 AWS EC2 实例。除了数据库连接之外,Web 和 PHP 按预期工作。但是我无法使用在其他(MySQL 5.7 通过 PHP 7.1)情况下运行良好的 PDO 设置和函数连接到 MySQL 数据库。
我可以使用与 PDO 尝试使用的凭据相同的凭据在终端中的服务器(通过 SSH 的 MySQL)上进行可靠连接。还可以使用 MySQL Workbench 和相同的凭据从远程可靠地进行。没有服务器上的防火墙。防火墙仅通过亚马逊的安全组。在端口 3306 完全开放的情况下,PHP 仍然无法使用 PDO 进行连接。尚未尝试使用 MySQLi,但这样做的目的之一是确定并记录如何在此环境中通过 PDO 进行连接。所以这不是一个解决方案。
我了解 MySQL 8 更改了密码安全性(并且我选择在安装过程中使用新的更强的默认密码)。但我也从http://php.net/manual/en/ref.pdo-mysql.php得到印象,从PHP 7.2.4 开始,这应该可以工作......我真的不明白他们在尝试什么虽然在相关段落中说......
预计这还不奏效吗?
编辑:删除了原来无关紧要的配置和故障排除信息。希望这个更清晰/更简短的问题编辑对那些后来发现它的人更有用。
我有一个运行 PHP 5.3.3 的 RHEL 机器,它是使用yum. 我已经安装了 php-pdo 包:
# yum info php-pdo
Loaded plugins: product-id, rhnplugin, subscription-manager
Updating Red Hat repositories.
Installed Packages
Name : php-pdo
Arch : x86_64
Version : 5.3.3
Release : 3.el6_1.3
Size : 168 k
Repo : installed
From repo : rhel-x86_64-server-6
Summary : A database access abstraction module for PHP applications
URL : http://www.php.net/
License : PHP
Description : The php-pdo package contains a dynamic shared object that will add
: a …Run Code Online (Sandbox Code Playgroud) 我有一台 Ubuntu 12.04 服务器,我正在尝试建立与 MSSQL 数据库的连接。
我已经成功使用tsqland连接isql,但osql不起作用,并且使用 PDO 与 PHP 连接也不起作用。我会尽力提供尽可能多的信息,如果您需要更多信息,请告诉我,我会的编辑。
freetds.conf:
[MSSQL]
host = TPSACC
port = 54488
tds version = 8.0
Run Code Online (Sandbox Code Playgroud)
odbc.ini:
[MSSQL]
Description = MS SQL connection to PRODUCTION database
Driver = FreeTDS
Database = PRODUCTION
Server = TPSACC
UserName = sa
Password = pass
Trace = No
TDS_Version = 8.0
Port = 54488
Run Code Online (Sandbox Code Playgroud)
odbcinst.ini:
[FreeTDS]
Description = ODBC for Microsoft SQL
Driver = /usr/local/lib/libtdsodbc.so
UsageCount = 1 …Run Code Online (Sandbox Code Playgroud) pdo ×11
php ×8
mysql ×4
freetds ×2
sql-server ×2
amazon-rds ×1
apache-2.2 ×1
centos ×1
centos5 ×1
drivers ×1
lamp ×1
linux ×1
odbc ×1
php7 ×1
redhat ×1
rhel6 ×1
sql ×1
sybase ×1
ubuntu-18.04 ×1