我已经编译了 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 文件,而不是在使用 …
我试图从netcatphp 文件启动的连接中获取值,但它因以下原因而终止:
localhost [127.0.0.1] 2000 (?) : Connection refused
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,但如果我以 apache 用户(www-data)的身份使用 ssh,它会很好地工作。这就是我所做的:
开始一个无限循环,稍微延迟一下提供日期:
$ (while true; do nc -l -p 2000 -c "sleep 5; date"; done)&
Run Code Online (Sandbox Code Playgroud)检查是否正常工作:
$ su www-data
$ nc localhost 2000
Fri Oct 16 21:33:20 COT 2009
Run Code Online (Sandbox Code Playgroud)创建/var/www/test.php如下:
<?php
exec('nc localhost 2000>>/var/www/dates.txt 2>>/var/www/errors.txt &');
?>
Run Code Online (Sandbox Code Playgroud)在浏览器上运行它:
http://myserver.com/test.php
Run Code Online (Sandbox Code Playgroud)最后看一下两个 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) 任何人都知道如何在标题中做到这一点?或者至少是类似的东西(启用/禁用 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-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) 我正在尝试将 Nginx 配置为在同一域的两个不同目录中托管多个基于 PHP 的应用程序。我想要达到的结果是:
http://webserver.local/ > 提供的应用程序/path/to/website
http://webserver.local/app > 提供的应用程序/path/to/php-app
这是我的配置。
File Not Found(但是,文件在/path/to/php-app/index.php)。/path/to/php-app/test.txt(不是 PHP),当我转到http://webserver.local/app/test.txt 时,我按预期获得了文本文件。有人可以解释一下我哪里出错了吗?谢谢 :)
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) 我想分享一些有关我的 OCI8 安装以访问 Oracle 数据库的信息。
如果出现“ PHP 启动:无法加载动态库 'oci8.so' ”之类的错误
或“检查 Oracle Instant Client 库版本兼容性...配置:错误:未找到从 libclntsh.so 到 /opt/oracle/instantclient/libclntsh.so.*.1 的链接”
或者只是想安装 Quick&Easy OCI8 以在您的 php 和 Oracle 数据库之间建立连接,您来对地方了!
我正在测试使用 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 开始,这应该可以工作......我真的不明白他们在尝试什么虽然在相关段落中说......
预计这还不奏效吗?
编辑:删除了原来无关紧要的配置和故障排除信息。希望这个更清晰/更简短的问题编辑对那些后来发现它的人更有用。
我们的服务器最近受到攻击,在日志中看起来类似于以下内容:
[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) IIS 网站通过应用程序池运行,该应用程序池的身份高级属性设置为 ApplicationPoolIdentity。该网站通过 FastCGI 处理程序运行 PHP 脚本。这些脚本尝试写入文件,但即使应用程序池用户具有足够的权限,访问也会被拒绝。我运行了 ProcMon,它显示脚本正在尝试使用 IUSR 而不是应用程序池用户打开文件。
当我打开脚本网址时,我得到
PHP Warning: fopen(C:\ABC\test.txt): failed to open stream: Permission denied
当我运行 Sysinternal 的 ProcMon 时,我看到:
如何修复它以便使用 example.com 用户访问该文件?
所以我试图建立一个 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) php ×10
php-fpm ×3
mysql ×2
nginx ×2
php7 ×2
amazon-ec2 ×1
apache-2.2 ×1
apache-2.4 ×1
database ×1
docker ×1
freebsd ×1
iis ×1
linux ×1
netcat ×1
oracle ×1
pdo ×1
permissions ×1
port ×1
ubuntu-18.04 ×1
web-server ×1