我有一个带有 apache2 和 php 7.1.6 的 ubuntu 14.4 服务器。
我还安装了 PostgreSQL 9.3。我现在需要使用 PDO 从 php 代码连接到这些数据。
我尝试了以下方法:
sudo apt install php7.0-pgsqlsudo phpenmod pdo_pgsql,我收到以下错误消息:WARNING: Module pdo_pgsql ini file doesn't exist under /etc/php/7.1/mods-available
您如何正确安装和启用 PostGres for php 7 的 PDO 驱动程序?
在整个互联网上,我只找到了添加ondrej/php存储库以升级到 PHP-8 的参考(在 Ubuntu 上,如果这很重要)。我不熟悉,无论是谁ondrej(对不起,也许他就像“PHP 世界中的 Linus”,但我不是资深开发人员,也不知道)并且想知道,安装 PHP 8 和那是官方存储库吗?
更新:原来有办法编译官方php(来自github)。
我是 Ubuntu 的新手。我正在运行 Ubuntu 12.10。我正在尝试安装 apache、php、mysql。但是我已经安装了 apache 并且它运行得很好。
sudo apt-get install apache2
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用以下命令安装 mysql 时
sudo apt-get install mysql-server
Run Code Online (Sandbox Code Playgroud)
下载后,它要求输入密码,但输入并确认密码后。我收到以下错误消息。
无法为 Mysql“root”用户设置密码 为mysql设置密码时发生错误 管理用户。这可能是因为该帐户已经有密码,或者因为与 Mysql 服务器的通信问题。 安装包后,您应该检查帐户的密码。 请阅读 /usr/share/doc/mysql-server-5.5/README.Debian 文件以获取更多信息。
单击提示上的确定按钮后,我在终端上收到以下消息
Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql-server-5.5 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)
Mysql 错误日志说
130209 14:26:37 [Note] …Run Code Online (Sandbox Code Playgroud) 我只是继续使用ondej的PPA按照指南将PHP7添加到我的服务器。现在我想删除旧的 php,所以显然我做了,sudo apt-get remove --purge php5而且 ti 似乎一切正常,只是没有卸载。如果我这样做,php -v我会得到第 7 版,但我仍然可以php5 -v得到 5.6 或php5.6 -v得到同样的东西。当我现在sudo apt-get remove php5(或 php5.6)这样做时,我知道该软件包未安装,但显然是因为我可以执行该命令。
x@x-server:~$ php -v
PHP 7.0.6-1+donate.sury.org~trusty+1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
x@x-server:~$ php5 -v
PHP 5.6.21-1+donate.sury.org~trusty+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 …Run Code Online (Sandbox Code Playgroud) 我mysql在我的php-config.
apt-get install php-mysql并且apt-get install php7.0-mysql不有所作为。
此外,php扩展目录中缺少共享对象。
有什么办法可以得到mysql.so吗?
安装 apache 2 服务器、php5、mysql 和 phpMyAdmin 最正确的方法是什么?
我这周安装了它,我遇到了很多没有解决方案的问题,所以现在我重新安装了 Ubuntu 13.04 我不想再犯同样的错误。
这是我的场景:
Apache 在启用 SSL 并在端口 443 上安装证书的情况下完美运行。
我也想在同一台机器上安装 nginx。作为功能性反向代理和端口 81 或 8443 上的服务器(使用与 apache 相同的证书)
我发现了很多解决方案,将 nginx 作为主服务器,将 apache 作为辅助服务器。我不想弄乱我现有的 apache 配置,所以 nginx 对我来说是次要的。
当我尝试启动时,xampp出现以下错误:
sudo /opt/lampp/lampp start
Starting XAMPP for Linux 5.6.30-0...
XAMPP: Starting Apache.../opt/lampp/share/xampp/xampplib: line 22: netstat: command not found
/opt/lampp/share/xampp/xampplib: line 22: netstat: command not found
ok.
XAMPP: Starting MySQL.../opt/lampp/share/xampp/xampplib: line 22: netstat: command not found
ok.
XAMPP: Starting ProFTPD.../opt/lampp/share/xampp/xampplib: line 22: netstat: command not found
ok.
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题,xampplib我怎样才能让它xampp工作?
我一直在尝试在启用 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
Run Code Online (Sandbox Code Playgroud)
php -m 输出:
[PHP Modules]
Core …Run Code Online (Sandbox Code Playgroud) php ×10
apache2 ×4
mysql ×4
apt ×2
drivers ×1
extension ×1
installation ×1
lamp ×1
nginx ×1
phpmyadmin ×1
postgresql ×1
repository ×1
server ×1
ssl ×1
xampp ×1