标签: php

未定义对符号“解压缩”的引用,命令行中缺少 DSO

我正在尝试手动编译我的 php iconv 扩展,以便它使用 libiconv 而不是 glibc。我下载了 libiconv,并配置了./configure --prefix=/usr/localmake然后sudo make install

我找到了有关手动编译的说明:https ://stackoverflow.com/questions/4743080/how-can-i-force-php-to-use-the-libiconv-version-of-iconv-instead-of-the- centos-in/4851065#4851065

我有一个 php 版本 5.6.10,它是使用 phpbrew 安装的,所以我从步骤 #3 开始。

在步骤 #5 ( make) 中,我遇到了以下错误:

/usr/bin/ld: ext/standard/.libs/image.o: undefined reference to symbol 'uncompress'
//lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
Run Code Online (Sandbox Code Playgroud)

你知道如何解决这个问题吗?多谢。

php compiling 14.04

4
推荐指数
1
解决办法
8521
查看次数

如何在 Ubuntu 14.04 上安装 PHP7?

当我尝试从这个命令安装 PHP7 时:

sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mysql php7.0-cgi
Run Code Online (Sandbox Code Playgroud)

然后我得到错误:

couldn't find or unable to locate all these packages.
Run Code Online (Sandbox Code Playgroud)

所以我想从php.net下载 php7.1 ,然后用 Apache 运行。这样做的过程是什么?如何配置像apache2.conf&php.ini这样的文件来运行 PHP?

php apache2 14.04 php7

4
推荐指数
1
解决办法
3万
查看次数

如何为 PHP7 安装 PECL inotify 扩展?

我正在尝试让Inotify在 PHP7 上工作。我已经安装了所需的软件包:

sudo apt install php php-dev
Run Code Online (Sandbox Code Playgroud)

并使用 Pecl 安装 Inotify:

sudo pecl install inotify
Run Code Online (Sandbox Code Playgroud)

但它不起作用:

$ php -r "var_dump(function_exists('inotify_init'));"
bool(false)
Run Code Online (Sandbox Code Playgroud)

php inotify php7

4
推荐指数
1
解决办法
4015
查看次数

我可以在不更改 Apache、Mysql 和 PHP 版本的情况下将 ubuntu 从 10.04 升级到 16.04 吗?

这个问题我知道升级 ubuntu 不会升级 php。

  1. 但是 apache 和 mysql 呢?那些会升级吗?

此外,从10.04升级到16.04已经提到3个步骤在这里

我当前的 Ubuntu 版本是 10.04.4 LTS

Apache: 2.2.14  
Mysql: 5.1.66  
Php: 5.3.2
Run Code Online (Sandbox Code Playgroud)
  1. 我可以在不升级任何 apache、mysql 和 php 版本的情况下将 ubuntu 升级到 16.04 LTS 吗?

仅供参考,根据我之前的问题,我正在尝试升级到 ubuntu 16.04 以更新到 TLS1.2

我有点困惑,因为我是 ubuntu 的新手。请指导我。

upgrade 10.04 php apache2 16.04

4
推荐指数
1
解决办法
1619
查看次数

与 php7 一起安装 php5

我现在在 php7 上,但我有一个依赖于 php5 的遗留程序,因为它使用mysql而不是mysqli

我可以将 php5 与 php7 一起安装并在需要它们中的任何一个时切换它们吗?

php php5-fpm php7

4
推荐指数
1
解决办法
5608
查看次数

权限 - 允许两个用户完全访问目录

我有一个位于/var/www/web. 在其中一个文件中,比方说create_dir.php,我正在创建一个带有mkdir(). 我收到以下消息。

警告:mkdir():第 122 行 /var/www/web/create_dir.php 中的权限被拒绝

现在,当我是文件或目录的所有者时,我可以运行该文件。但是,当我不是所有者时,我无法编辑 PhpStorm 中的文件。

我的用户被调用josh,apache2 用户是默认用户,www-data.

我基本上需要创建一个组或一个特殊/魔法用户,以便我可以随时运行和编辑文件。

注意:我看过这个超级用户的答案,但它对我不起作用。我运行这个命令来创建组:

sudo groupadd website
Run Code Online (Sandbox Code Playgroud)

我运行这些命令来添加用户:

sudo usermod -a -G website josh
sudo usermod -a -G website www-data
Run Code Online (Sandbox Code Playgroud)

我运行此命令将其添加到 web 文件夹:

sudo chgrp -R website /var/www/web
Run Code Online (Sandbox Code Playgroud)

我运行了这个命令,一旦我重新加载了我的网站,我就会收到一条禁止错误消息。

sudo chmod -R 770 /var/www/web
Run Code Online (Sandbox Code Playgroud)

所以我运行了这个命令来查看网页:

sudo chmod -R 775 /var/www/web
Run Code Online (Sandbox Code Playgroud)

现在我又回到了第一点。

任何帮助表示赞赏。

server php permissions command-line apache2

4
推荐指数
1
解决办法
3004
查看次数

警告:/etc/php/7.2/mods-available 下不存在模块 mcrypt ini 文件

我一直在尝试在安装了灯的 Ubuntu 16.04.3 LTS、php 7.2、mysql Ver 15.1 Distrib 10.2.12-MariaDB 中安装 phpmyadmin,用于 debian-linux-gnu (x86_64) 使用 readline 5.2 和 apache2。

我正在关注digitalOcean 的这篇文章,但是当我来到需要运行的部分时,sudo phpenmod mcrypt我收到一条消息说..

警告:/etc/php/7.2/mods-available 下不存在
模块 mcrypt ini 文件 警告:/etc/php/7.2/mods-available 下不存在模块 mcrypt ini 文件

我在godaddy中安装的ubuntu上执行此操作

你能为此提供最佳解决方案吗?

server lamp mysql php apache2

4
推荐指数
1
解决办法
3万
查看次数

使nginx使用php7.2

我使用 nginx 在 ubuntu16.04 上将 PHP 从 7.0.27 版升级到 7.2 版。

PHP 7.0 到 PHP 7.2 - 如何升级您的服务器

当我在终端上运行 php -v 时,我可以看到:

PHP 7.2.2-3+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb  6 2018 16:11:23) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.2-3+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans
Run Code Online (Sandbox Code Playgroud)

但是当我在浏览器中看到回显 phpinfo() 时,它显示了旧版本的 PHP,例如:

PHP Version 7.0.27-1+ubuntu16.04.1+deb.sury.org+1
Run Code Online (Sandbox Code Playgroud)

这意味着 nginx 没有使用 PHP7.2,我需要为此进行配置。请,任何帮助表示赞赏。

提前致谢。

php nginx

4
推荐指数
1
解决办法
7882
查看次数

如何删除通过 PPA 安装的旧版本 PHP

我见过很多类似的问题,但到目前为止我尝试过的都没有成功。

我安装了不同版本的 PHP,并从PPA并行安装。这正是我想要的。

但是现在我在系统上安装了一些较旧的、未维护的 PHP 版本(我什至可以看到例如一个 /etc/php/php5.6 文件夹,虽然php5.6 -v声称它没有安装,但php7.0 -v仍然可以工作)。

如何摆脱特定的旧版本及其扩展。

apt purge 等没有帮助,我想为将来的版本保留 PPA。

编辑 查看已安装的 PHP 包列表,我怀疑它是从 PPA 安装的吗?

$ apt list --installed php\*
php-cli/xenial,now 2:7.4+72+ubuntu16.04.1+deb.sury.org+1 all  [installiert]
php-common/xenial,now 2:72+ubuntu16.04.1+deb.sury.org+1 all  [Installiert,automatisch]
php-igbinary/xenial,now 3.1.0+2.0.8-2+ubuntu16.04.1+deb.sury.org+1 amd64  [Installiert,automatisch]
php-imagick/xenial,now 3.4.4-1+ubuntu16.04.1+deb.sury.org+20191129 amd64  [installiert]
php-mbstring/xenial,now 2:7.4+72+ubuntu16.04.1+deb.sury.org+1 all  [installiert]
php-pear/xenial,now 1:1.10.8+submodules+notgz-1+ubuntu16.04.1+deb.sury.org+1 all  [installiert]
php-redis/xenial,now 5.1.1+4.3.0-1+ubuntu16.04.1+deb.sury.org+1 amd64  [installiert]
php7.0-cli/xenial,now 7.0.33-15+ubuntu16.04.1+deb.sury.org+1 amd64  [installiert]
php7.0-common/xenial,now 7.0.33-15+ubuntu16.04.1+deb.sury.org+1 amd64  [installiert]
php7.0-curl/xenial,now 7.0.33-15+ubuntu16.04.1+deb.sury.org+1 amd64  [installiert]
php7.0-fpm/xenial,now 7.0.33-15+ubuntu16.04.1+deb.sury.org+1 amd64  [installiert]
php7.0-gd/xenial,now 7.0.33-15+ubuntu16.04.1+deb.sury.org+1 amd64  [installiert] …
Run Code Online (Sandbox Code Playgroud)

php package-management uninstall apt ppa

4
推荐指数
1
解决办法
6114
查看次数

在新安装的 Ubuntu 20.04 服务器上是否有一个快速的衬垫或脚本来安装 LAMP 堆栈?

我看到很多关于在 ubuntu 20 上安装 LAMP 堆栈的指南。但它们都是一次一行手动完成的。在新安装的 Ubuntu 20.04 服务器上是否有一个简单的脚本或一个衬垫来安装 LAMP 堆栈?

lamp mysql php apache2 20.04

4
推荐指数
1
解决办法
377
查看次数