标签: php

可执行文件无需 sudo 运行,但使用 sudo 则不运行

我在我的系统中安装了 xampp 的位置/opt/lampp。之后我使用以下命令将 php 位置添加到我的路径变量中

export PATH=$PATH:/opt/lampp/bin
Run Code Online (Sandbox Code Playgroud)

因此,当我php -v使用终端运行时,我得到了预期的输出。

PHP 5.6.8 (cli) (built: Apr 20 2015 18:37:47) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时sudo php -v我得到这个:

sudo: php: command not found
Run Code Online (Sandbox Code Playgroud)

我不知道为什么会发生这种情况。将其添加到路径变量时我做错了什么吗?

编辑:

这个问题不是与 'sudo' 一起运行时的环境变量的重复,因为在该问题中 zetah 询问如何将任意变量传递给 python 命令。他们能够执行pythonusing sudo,但我无法执行phpusing sudo

根据此答案sudo,我使用以下命令添加了 PATH :

sudo PATH=$PATH:/opt/lampp/bin php -v
Run Code Online (Sandbox Code Playgroud)

但我得到的输出和以前一样:

sudo: php: command not found …
Run Code Online (Sandbox Code Playgroud)

php sudo xampp environment-variables

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

`mkdir()`:使用 PHP 创建文件夹的权限被拒绝

我有这个 PHP 脚本:

$dir = FCPATH . 'uploads' . DIRECTORY_SEPARATOR . 'posts'; // is in CodeIngiter
if (!is_dir($dir)) {
    mkdir($dir, 755);
}
Run Code Online (Sandbox Code Playgroud)

这将创建一个用于存储帖子图像的文件夹。但是我收到此错误/警告:

Severity: Warning
Message:  mkdir(): Permission denied
Run Code Online (Sandbox Code Playgroud)

我无法创建该文件夹。

我怎样才能解决这个问题?我的文件夹结构如下所示:

/opt/lampp/htdocs/www/my-site/public/ (uploads/posts) // all folders inside files will generate in php
Run Code Online (Sandbox Code Playgroud)

一些进一步的信息:如果我评论此代码,手动创建posts文件夹,然后尝试上传文件,我会收到一条错误消息,指出目标路径不可写。

输出ls -l /opt/lampp/htdocs/www/my-site/

drwxrwxr-x 15 lykos lykos 4096 Sep 17 23:08 application
drwxrwxrwx 6 lykos lykos 4096 Sep 29 22:00 public
drwxrwxr-x 8 lykos lykos 4096 Sep 7 12:31 system
Run Code Online (Sandbox Code Playgroud)

输出ls -l …

php permissions

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

为什么 Perl 包含在 lamp-server^ 中?

我知道LAMP安装很多方法,也有很多问题。

但是,没有答案...为什么命令会sudo apt-get install lamp-server^安装一些 Perl 库?help.ubuntu.com上所述。

帮助链接显示,命令安装以下软件包:apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libnet-daemon-perl libplrpc-perl libpq5 mysql-client-5.5 mysql-common mysql-server mysql-server-5.5 php5-common php5-mysql

如果我只需要 Apache、MySQL 和 PHP,我可以跳过安装 Perl 吗?或者我的“基于 PHP”的 LAMP 需要这些包?

lamp mysql php apache2

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

如何安装 xmlwriter?

我已经开始使用一个需要xmlwriter PHP 扩展的库,但它似乎没有安装在我的服务器上。

我该如何安装?

我试过这个:

sudo yum install libxml2
Run Code Online (Sandbox Code Playgroud)

但结果是:

There are no enabled repos.
Run Code Online (Sandbox Code Playgroud)

是否有另一种安装方法,例如使用 apt-get?或者我该如何安装它?

php apache2.4

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

我可以在 Ubuntu Server 18.04 LTS 上安装 PHP 5.3.5 吗?

我想知道如何在 Ubuntu Server 18.04 LTS 上安装 PHP 5.3,因为我的系统只需要 PHP 5.3。

这可能吗?

php package-management php5-fpm 18.04

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

如何从我的 Ubuntu 18 服务器中删除我的 php7.1?

我试过这个:

?  /etc dpkg -l |grep php
rc  php7.1-cli                        7.1.17-1+ubuntu17.10.1+deb.sury.org+1   amd64        command-line interpreter for the PHP scripting language
rc  php7.1-fpm                            7.1.17-1+ubuntu17.10.1+deb.sury.org+1   amd64        server-side, HTML-embedded scripting language (FPM-CGI binary)
rc  php7.1-json                           7.1.17-1+ubuntu17.10.1+deb.sury.org+1   amd64        JSON module for PHP
rc  php7.1-mysql                          7.1.17-1+ubuntu17.10.1+deb.sury.org+1   amd64        MySQL module for PHP
rc  php7.1-opcache                        7.1.17-1+ubuntu17.10.1+deb.sury.org+1   amd64        Zend OpCache module for PHP
rc  php7.1-readline                       7.1.17-1+ubuntu17.10.1+deb.sury.org+1   amd64        readline module for PHP
rc  phpmyadmin                            4:4.6.6-5                               all          MySQL web administration tool
Run Code Online (Sandbox Code Playgroud)

然后我尝试了这个:

?  /etc apt remove php7.1-cli php7.1-fpm php7.1-json php7.1-mysql php7.1-opache php7.1-readline …
Run Code Online (Sandbox Code Playgroud)

php package-management apt 18.04

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

如何在 Ubuntu 18.04 服务器的全新安装上安装 PHP-FPM

我正在尝试在全新安装的 Ubuntu Server 18.04 上安装 LEMP 堆栈。我能够通过安装除 php-fpm 之外的所有内容。即使在 18.04 上安装 LEMP 时的每个指令站点(尽管看起来每个人都从一个站点窃取了他们的站点)都说要安装它,但它似乎并不在包存储库中。关于如何安装它或替代 php-fpm 的任何想法?

seafile@seafile:~$ sudo apt-get update
Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Get:2 http://archive.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Fetched 172 kB in 1s (139 kB/s)    
Reading package lists... Done
sudo apt-get install php
php              php7.2-dev       php7.2-odbc      php7.2-snmp      php-cgi          php-gmp          php-pspell
php7.2           php7.2-gd        php7.2-opcache   php7.2-sqlite3   php-cli          php-ldap         php-recode
php7.2-cgi       php7.2-gmp       php7.2-pgsql     php7.2-tidy      php-common       php-mysql        php-snmp
php7.2-cli       php7.2-json      php7.2-pspell    php7.2-xml       php-curl         php-odbc         php-sqlite3
php7.2-common    php7.2-ldap …
Run Code Online (Sandbox Code Playgroud)

server php nginx 18.04

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

我们如何在 Ubuntu 18.04 上安装 libmemcached?

我正在尝试在 Ubuntu 18.04(nginx + PHP 7.2)上使用 php memcache 扩展。Memcached 已安装并正常工作,但我无法使php-memcache扩展正常工作。

我可以毫无问题地安装 libmemcached11:

$ sudo apt-get install libmemcached11

libmemcached11 is already the newest version (1.0.18-5+deb.sury.org~xenial+2).
Run Code Online (Sandbox Code Playgroud)

当我运行时:

$ sudo apt install libmemcached-dev

The following packages have unmet dependencies:
 libmemcached-dev : Depends: libmemcached11 (= 1.0.18-4.2ubuntu0.18.04.1) but 1.0.18-5+deb.sury.org~xenial+2 is to be installed
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

php apt nginx software-installation memcached

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

我应该在 VirtualBox 上安装什么镜像来练习 DevOps?

我想练习从(几乎)从头开始设置 PHP / Apache Web 服务器,即:

  1. 从 Ubuntu 操作系统开始。
  2. 安装阿帕奇
  3. 安装我需要的任何 PHP 包

随着我在途中跨越的任何障碍。我可以通过设置DigitalOcean Ubuntu droplet来做到这一点,但我想我也可以使用 VirtualBox(在 Windows 8.1 上)来做到这一点。但是到目前为止我看到的说明涉及下载 Ubuntu 桌面 ISO 映像并将其用作 VirtualBox 中的基础。我真的需要那个吗?

我不需要将 Ubuntu 用作桌面操作系统。可能是一个愚蠢的问题,但是我应该使用更精简的图像,还是我认为这一切都错了?

server php virtualbox apache2

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

网站未加载 index.php 并显示文件夹索引

文件夹图像索引

如您所见,它有 index.php 文件,但默认情况下并没有打开它。

我在/etc/apache2/mods-enabled/dir.conf 这里编辑的是文件

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
Run Code Online (Sandbox Code Playgroud)

只有这个文件夹才会发生这种情况。所有其他文件夹都在那里打开 index.php 文件。

lamp php apache2 webserver 18.04

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