标签: php

php cli 未加载附加 .ini 文件

我已经编译了 PHP 5.3,除了从命令行运行 PHP 时,一切似乎都工作正常。

当我跑步时:

# php --ini
Run Code Online (Sandbox Code Playgroud)

它产生这样的输出:

Configuration File (php.ini) Path: /etc/php5/apache2
Loaded Configuration File:         /etc/php5/apache2/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
Run Code Online (Sandbox Code Playgroud)

当我创建页面并输出 phpinfo(); 时 我得到这个输出:

Configuration File (php.ini) Path: /etc/php5/apache2
Loaded Configuration File:         /etc/php5/apache2/php.ini
Scan for additional .ini files in: /etc/php5/apache2/conf.d
Additional .ini files parsed:      /etc/php5/apache2/conf.d/curl.ini, /etc/php5/apache2/conf.d/gd.ini, /etc/php5/apache2/conf.d/imagick.ini, /etc/php5/apache2/conf.d/memcache.ini, /etc/php5/apache2/conf.d/mhash.ini, /etc/php5/apache2/conf.d/ming.ini, /etc/php5/apache2/conf.d/mysql.ini, /etc/php5/apache2/conf.d/mysqli.ini, /etc/php5/apache2/conf.d/pdo.ini, /etc/php5/apache2/conf.d/pdo_mysql.ini, /etc/php5/apache2/conf.d/pdo_sqlite.ini, /etc/php5/apache2/conf.d/pspell.ini, /etc/php5/apache2/conf.d/recode.ini, /etc/php5/apache2/conf.d/snmp.ini, /etc/php5/apache2/conf.d/sqlite.ini, /etc/php5/apache2/conf.d/tidy.ini, /etc/php5/apache2/conf.d/xmlrpc.ini, /etc/php5/apache2/conf.d/xsl.ini 
Run Code Online (Sandbox Code Playgroud)

我不明白为什么当通过 apache 执行 php 时会加载额外的 .ini 文件,而不是在使用 …

php configuration command-line-interface

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

本地主机上的 Netcat“连接被拒绝”

我试图从netcatphp 文件启动的连接中获取值,但它因以下原因而终止:

localhost [127.0.0.1] 2000 (?) : Connection refused
Run Code Online (Sandbox Code Playgroud)

我不知道为什么,但如果我以 apache 用户(www-data)的身份使用 ssh,它会很好地工作。这就是我所做的:

  1. 开始一个无限循环,稍微延迟一下提供日期:

    $ (while true; do nc -l -p 2000 -c "sleep 5; date"; done)&
    
    Run Code Online (Sandbox Code Playgroud)
  2. 检查是否正常工作:

    $ su www-data
    $ nc localhost 2000
    Fri Oct 16 21:33:20 COT 2009
    
    Run Code Online (Sandbox Code Playgroud)
  3. 创建/var/www/test.php如下:

    <?php
    exec('nc localhost 2000>>/var/www/dates.txt 2>>/var/www/errors.txt &');
    ?>
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在浏览器上运行它:

    http://myserver.com/test.php
    
    Run Code Online (Sandbox Code Playgroud)
  5. 最后看一下两个 txt,日期为空(与 #2 中的响应完全不同),并且错误有“连接被拒绝”错误。

该服务器是一个运行 Ubuntu Server 9.04 的 LAMP 集群,带有 DRBD 和 Heartbeat。

让我发疯的是,这个 test.php 在我的笔记本电脑(Ubuntu Desktop 9.04 上的 LAMP)上运行良好,并且服务器似乎已经打开并监听端口:

$ netstat -ntpl
Active Internet connections …
Run Code Online (Sandbox Code Playgroud)

linux php port netcat apache-2.2

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

php-fpm 上的每个池 php.ini

任何人都知道如何在标题中做到这一点?或者至少是类似的东西(启用/禁用 php.ini 中常用的功能)

我的泳池现在看起来像这样

[amar]
listen = 127.0.0.1:11000
user = amar
group = amar
request_slowlog_timeout = 5s
slowlog = /var/log/slowlog-amar.log
pm.max_children = 5
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 4
pm.max_requests = 500
include = /etc/php5/fpm/fpm.d/common.conf
Run Code Online (Sandbox Code Playgroud)

它位于 fpm.d/pools 中,它包含在默认的 php5-fpm.conf 中

我发现了一些关于 php_defines 的内容,但我不知道如何实现它

ty。

php php-fpm

5
推荐指数
1
解决办法
4336
查看次数

nginx php-fpm 子进程退出,代码为 0

任何人都对 php-fpm 7 和 11.0-RELEASE-p8 有类似的问题,或者知道如何调试它?

几分钟后情况开始,只向客户显示半页。任何页面都显示约 62kb 的内容并带有结尾????????? 4.

php-fpm 的日志文件:

[18-Mar-2017 15:41:49] NOTICE: [pool www] child 80582 exited with code 0 after 0.005648 seconds from start
[18-Mar-2017 15:41:49] NOTICE: [pool www] child 80584 started
[18-Mar-2017 15:41:49] NOTICE: [pool www] child 80583 exited with code 0 after 0.005877 seconds from start
[18-Mar-2017 15:41:49] NOTICE: [pool www] child 80585 started
[18-Mar-2017 15:41:49] NOTICE: [pool www] child 80581 exited with code 0 after 0.007763 seconds from start
[18-Mar-2017 15:41:49] NOTICE: …
Run Code Online (Sandbox Code Playgroud)

freebsd php nginx php-fpm php7

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

Nginx + PHP-FPM URI 别名和多个 php 目录

我正在尝试将 Nginx 配置为在同一域的两个不同目录中托管多个基于 PHP 的应用程序。我想要达到的结果是:

http://webserver.local/ > 提供的应用程序/path/to/website

http://webserver.local/app > 提供的应用程序/path/to/php-app

这是我的配置。

有人可以解释一下我哪里出错了吗?谢谢 :)

server {
    listen       80;
    server_name  webserver.local;

    location / {
        root   /path/to/website;
        index  index.php;

        location ~ \.php$ {
            root           /path/to/website;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }

    location ^~ /app {
        alias   /path/to/php-app;
        index  index.php;

        location ~ \.php$ …
Run Code Online (Sandbox Code Playgroud)

php nginx web-server php-fpm

5
推荐指数
1
解决办法
6009
查看次数

如何在 Ubuntu 18.04 上安装 Oracle OCI8 即时客户端

我想分享一些有关我的 OCI8 安装以访问 Oracle 数据库的信息。

如果出现“ PHP 启动:无法加载动态库 'oci8.so' ”之类的错误

或“检查 Oracle Instant Client 库版本兼容性...配置:错误:未找到从 libclntsh.so 到 /opt/oracle/instantclient/libclntsh.so.*.1 的链接”

或者只是想安装 Quick&Easy OCI8 以在您的 php 和 Oracle 数据库之间建立连接,您来对地方了!

oracle php database

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

PHP 7.2.8 PDO 无法连接到 AWS EC2 LEMP 堆栈中的 MySQL 8.0.12 (GA)

我正在测试使用 Ubuntu Server 18.04 LTS、NGINX 1.14、PHP 7.2.8 和 MySQL 8.0.12 构建的新 LEMP 网络服务器。它是一个使用官方 Canonical AMI 的 AWS EC2 实例。除了数据库连接之外,Web 和 PHP 按预期工作。但是我无法使用在其他(MySQL 5.7 通过 PHP 7.1)情况下运行良好的 PDO 设置和函数连接到 MySQL 数据库。

我可以使用与 PDO 尝试使用的凭据相同的凭据在终端中的服务器(通过 SSH 的 MySQL)上进行可靠连接。还可以使用 MySQL Workbench 和相同的凭据从远程可靠地进行。没有服务器上的防火墙。防火墙仅通过亚马逊的安全组。在端口 3306 完全开放的情况下,PHP 仍然无法使用 PDO 进行连接。尚未尝试使用 MySQLi,但这样做的目的之一是确定并记录如何在此环境中通过 PDO 进行连接。所以这不是一个解决方案。

我了解 MySQL 8 更改了密码安全性(并且我选择在安装过程中使用新的更强的默认密码)。但我也从http://php.net/manual/en/ref.pdo-mysql.php得到印象,从PHP 7.2.4 开始,这应该可以工作......我真的不明白他们在尝试什么虽然在相关段落中说......

预计这还不奏效吗?

编辑:删除了原来无关紧要的配置和故障排除信息。希望这个更清晰/更简短的问题编辑对那些后来发现它的人更有用。

mysql php pdo php7 ubuntu-18.04

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

Amazon EC2 实例收到不同 PHP 文件名的垃圾邮件

我们的服务器最近受到攻击,在日志中看起来类似于以下内容:

[Mon Feb 18 09:18:43 2019] [IP_ADDRESS] script '/var/www/ynm.php' not found or unable to stat
[Mon Feb 18 09:18:43 2019] [IP_ADDRESS] script '/var/www/71.php' not found or unable to stat
[Mon Feb 18 09:18:44 2019] [IP_ADDRESS] script '/var/www/wadre.php' not found or unable to stat
[Mon Feb 18 09:18:44 2019] [IP_ADDRESS] script '/var/www/vm.php' not found or unable to stat
[Mon Feb 18 09:18:44 2019] [IP_ADDRESS] script '/var/www/test.php' not found or unable to stat
[Mon Feb 18 09:18:44 2019] [IP_ADDRESS] script '/var/www/1q.php' not …
Run Code Online (Sandbox Code Playgroud)

php amazon-ec2 amazon-web-services apache-2.4

5
推荐指数
1
解决办法
206
查看次数

PHP FastCgi 作为 IUSR 而不是 IIS APPPOOL/xxx 运行

IIS 网站通过应用程序池运行,该应用程序池的身份高级属性设置为 ApplicationPoolIdentity。该网站通过 FastCGI 处理程序运行 PHP 脚本。这些脚本尝试写入文件,但即使应用程序池用户具有足够的权限,访问也会被拒绝。我运行了 ProcMon,它显示脚本正在尝试使用 IUSR 而不是应用程序池用户打开文件。

  • 网站example.com
    • 基本设置 - 应用程序池 = example.com
    • 基本设置 - 连接身份 = 应用程序用户(直通身份验证)
  • 应用程序池example.com
    • 高级设置 - 流程模型 - 身份 - ApplicationPoolIdentity
  • 脚本尝试写入文件
    • C:\ABC\test.txt
  • 目录 C:\ABC 有权限
    • IIS APPPOOL\example.com - 完全控制、类型允许、适用于此文件夹、子文件夹和文件

当我打开脚本网址时,我得到 PHP Warning: fopen(C:\ABC\test.txt): failed to open stream: Permission denied

当我运行 Sysinternal 的 ProcMon 时,我看到:

  • 事件
    • 操作创建文件
    • 结果访问被拒绝
    • 路径 C:\ABC
    • 所需访问权限:读取数据/列表目录、同步
    • 共享模式:读、写、删除
    • 冒充:NT AUTHORITY\IUSR
  • 过程
    • 路径 ...\php-cgi.exe
    • 用户:IIS APPPOOL\example.com

如何修复它以便使用 example.com 用户访问该文件?

iis php permissions

5
推荐指数
1
解决办法
1334
查看次数

带有 apache2 和 PHP 5.6 的 Docker:安装了 mysqli 和 pdo 扩展,但未启用

所以我试图建立一个 docker 服务器来与一些与 PHP 7 不兼容的旧应用程序一起使用

FROM php:5.6-apache

RUN apt-get -y update && apt-get upgrade -y

# Install tools && libraries
RUN apt-get -y install --fix-missing apt-utils nano wget dialog \
    build-essential git curl libcurl3 libcurl3-dev zip \
    libmcrypt-dev libsqlite3-dev libsqlite3-0 mysql-client \
    zlib1g-dev libicu-dev libfreetype6-dev libjpeg62-turbo-dev libpng-dev \
    && rm -rf /var/lib/apt/lists/*

# Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# PHP5 Extensions
RUN docker-php-ext-install curl \
    && docker-php-ext-install tokenizer \
    && docker-php-ext-install json \
    && …
Run Code Online (Sandbox Code Playgroud)

mysql php docker

5
推荐指数
1
解决办法
4415
查看次数