我似乎无法让 PostgreSQL 在 XAMPP 上运行(使用 Lubuntu 14.02)。我是 PHP、服务器和数据库方面的新手,但我收到了以下错误消息。
致命错误:在 /opt/lampp/htdocs/imageability/SkjemaDatabase.php 第 551 行中调用未定义的函数 pg_escape_string()
所以在我看来,这是 PostgreSQL 的问题。 出现了相同的错误消息pg_connect()
。 我尝试了一些方法让 PostgreSQL 与 XAMPP 一起工作,比如取消注释文件中的以下几行php.ini
,然后重新启动服务器,但没有成功。
扩展=php_pdo_pgsql.dll
扩展=php_pgsql.dll
我也读过您可以尝试将文件复制libpq.dll
到 Apache 文件夹,但我似乎根本没有这个文件(使用 搜索find
)。这可能是问题吗?
我也尝试过分别下载 Apache2、PHP5 和 PostgreSQL,但这似乎对我没什么帮助,因为在这种情况下,我只得到一个空白页,甚至没有错误消息。我使用的 PHP 文件很好,其他人也可以使用,我也可以让其他 PHP 文件在服务器上运行。
感谢任何帮助!
答案1
我的建议:不要为此使用 XAMPP!它应该是一种让常用的 Apache、MySQL、PHP、+Python/Perl 堆栈工作的简单方法。离开围墙花园,你几乎可以自己做主……
另外:即使你做让它工作,但不能保证下次您的系统或 XAMPP 本身不会崩溃。这种用例不受任何人支持,并且所涉及的某些组件(尤其是 PHP)并非设计用于处理未针对其特定版本编译的模块。
如何在 Debian/Ubuntu 上本地设置开发环境
- 打开终端窗口(菜单→其他→LX终端)
- 停止所有当前正在运行的 XAMPP 服务
- 安装所需的软件包:
您可以使用 GUI(“软件中心”)来完成此操作,也可以在终端上运行此命令:
sudo apt-get install apache2 libapache2-mod-php5 postgresql php5-pgsql
apache2
(Apache 网络服务器)libapache2-mod-php5
(PHP 支持 Apache)php5-pgsql
(PostgreSQL 客户端支持 PHP)postgresql
(PostgreSQL 服务器)
/etc/php5/apache2/php.ini
以 root 身份在文本编辑器中打开文件:
在终端窗口中输入命令
gksudo leafpad /etc/php5/apache2/php.ini
并按 Enter- 找到该行
display_errors = Off
并将其更改为display_errors = On
- 保存文件并关闭编辑器
- 重新启动 Apache Web 服务器:在终端窗口中
运行命令以重新启动 Web 服务器并重新加载其 PHP 模块sudo service apache2 restart