标签: php

是否有任何命令可以从命令行启用/禁用 php 扩展?

是否有任何命令可以从命令行轻松启用/禁用 php 扩展?(php.ini)

php

54
推荐指数
6
解决办法
15万
查看次数

apache 和 PHP 应该以什么用户身份运行?/var/www 文件应该有什么权限?

我刚刚启动了一个 Ubuntu 11.10 盒子,然后跑去apt-get install apache2 php5在盒子上安装 apache2 和 PHP 5。现在它作为一个“网络服务器”运行并加载“It Works!” 页。现在我正在努力加强安全性,我对 linux web 服务器有以下问题:

  1. apache 应该以谁的身份运行?
  2. 该用户应该属于哪个组?
  3. 哪些包可以使 PHP(和 Apache?)作为文件的所有者运行?(比如在共享网络主机上)我应该使用这些包吗?在小型系统上维护它们是否容易/可行?
  4. 对于以 apache 运行的方式提供给网络的文件和文件夹的默认权限应该是什么www-data?对于以用户身份运行的 apache/php?

我在检查默认设置时做了以下事情:

文件结构

当我cd /和做ls -al的内容列表,我看到/var

drwxr-xr-x 13 root root  4096 2012-02-04 20:47 var/
Run Code Online (Sandbox Code Playgroud)

如果我cd进入var并且确实ls -al看到:

drwxr-xr-x  2 root root  4096 2012-02-04 20:47 www/
Run Code Online (Sandbox Code Playgroud)

最后,在里面/var/www我看到:

drwxr-xr-x  2 root root 4096 2012-02-04 20:47 ./
drwxr-xr-x 13 root root …
Run Code Online (Sandbox Code Playgroud)

linux security users php apache-httpd

43
推荐指数
2
解决办法
14万
查看次数

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

使用 bash 定位 PHP 扩展文件夹

我正在尝试构建一个 bash 脚本来安装 Source Guardian PHP 扩展,但是每个后续版本的 Ubuntu 上的目标目录都不同。

在 Ubuntu 14.04 上安装 PHP5 会导致扩展存储在 /usr/lib/php5/20121212+lfs/ 中,在 Ubuntu 15.04 中此目录发生变化,例如 /usr/lib/20131226/

我检查了 /etc/php5/fpm/php.ini 和 /etc/php5/fpm/php-fpm.conf 但这些文件都没有提到 20121212+lfs 或 20131226。

如果我将 Source Guardian 扩展放在其他任何地方,它不会加载。

有没有办法以编程方式确定扩展文件夹?

bash ubuntu php

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

Linux Ubuntu 上的 php shell_exec() 权限

我正在使用 Linux 服务器开发一个 php 应用程序。我的问题是执行shell_exec()调用某些 exe 文件不起作用(实际上不是 exe,它是一种 linux 可执行文件)

echo shell_exec("whoami");
Run Code Online (Sandbox Code Playgroud)

我有守护进程

echo shell_exec("ls")
Run Code Online (Sandbox Code Playgroud)

我有一些文件名但是

echo shell_exec("php -v")
Run Code Online (Sandbox Code Playgroud)

我什么都没有,一个空白页

echo shell_exec("php ....bla bla bla")
Run Code Online (Sandbox Code Playgroud)

也是空白页。

如果我在终端(用户 hu)上输入,所有这些命令都将起作用。我已经在谷歌上搜索了几个小时,人们说这是因为许可。我没有在 Linux 上的经验。我必须做什么才能在 php 中执行我的程序?

linux shell php exec

18
推荐指数
2
解决办法
15万
查看次数

php 7 install 抛出“无法加载 Zend OPcache - 它已经加载”错误

我正在salt用来配置我的服务器,我只是尝试升级到 php 7,尽管一切都安装正确,但任何时候我运行php -v或运行任何 php 任何东西它都会在任何输出的头部抛出:Cannot load Zend OPcache - it was already loaded. 如果我看到这个就卸载了Failed loading /usr/lib64/php/modules/opcache.so: /usr/lib64/php/modules/opcache.so: cannot open shared object file: No such file or directory

这是安装php-v和未php-opcache安装的完整输出。

Cannot load Zend OPcache - it was already loaded
PHP 7.0.1 (cli) (built: Dec 16 2015 15:31:55) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright …
Run Code Online (Sandbox Code Playgroud)

centos php

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

如何使用shell命令仅获取PHP的版本号?

我只想获取 CentOS 上安装的 php 版本。

输出 php -v

PHP 7.1.16 (cli) (built: Mar 28 2018 13:19:29) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
Run Code Online (Sandbox Code Playgroud)

我尝试了以下操作:

php -v | grep PHP | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)

但我得到的输出是:

7.1.16
(c)
Run Code Online (Sandbox Code Playgroud)

我怎样才能只得到 7.1.16?

version php

17
推荐指数
5
解决办法
6023
查看次数

授予 PHP 写入文件和文件夹的权限

更新更清晰:

根据http://expressionengine.com/user_guide/installation/installation.html,它说:

对于大多数 Unix 主机,以下是典型的,但您可以检查您的主机,看看是否可以使用更严格的权限来允许 PHP 写入文件 (666) 和文件夹 (777)。在 Windows 服务器上,以下内容不适用,但您需要确保 ExpressionEngine 可写入文件和文件夹。为此,您可能需要联系您的房东。

不确定这是什么意思。我可以将特定文件和文件夹分别更改为 666 和 777,在我是 chown'er 的地方,但上面的内容听起来好像我也需要允许 PHP 执行此操作?

原问题:

我需要确保 PHP 可以写入特定文件 (666) 和文件夹 (777)。

我该怎么做呢?

permissions chmod php files

14
推荐指数
2
解决办法
12万
查看次数

如何知道安装了哪些php扩展

我需要在灯服务器上安装与旧服务器上安装的完全相同的 php 扩展,如何确切知道安装了哪些扩展以便在新服务器上安装相同的扩展?

debian php

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

生产服务器不区分大小写的文件系统?

初始情况如下所示:

  • 公司软件是基于 PHP 的。
  • 它由 Windows 2003 Server 上的 Apache 2 提供。
  • 很大
  • 这是相当不专业的开发人员的遗产,他们不介意区分大小写或目录分隔符。

所需的情况如下所示:

  • 在尚未确定风格的 Linux 发行版下,一切都迁移到了 Apache 2。

问题:

  • 无休止的大量代码,无需关心区分大小写或目录分隔符。

我已经做了一些研究,但不幸的是没有找到任何适合生产环境的东西。CIOPFS看起来不错,但明确表示不能在生产系统上使用。你认为mod_spellingApache 会是一个选择吗?对我来说尚未解决的问题是,PHP 是否在该模块的帮助下或直接访问文件(这将使其无用)。

我们是否应该吞下苦果并仔细阅读所有代码?我们希望避免这种情况,因为我们将用新的构建内容(长期)逐步替换当前的软件环境。

filesystems migration php case-sensitivity apache-httpd

11
推荐指数
1
解决办法
8412
查看次数