Articles of PHP

Nginx拒绝访问所有PHP文件,但是来自某些IP的文件

我试图拒绝访问我们所有的PHP脚本,除了一个IP以外的所有外部世界。 location / { deny all; allow <one-ip-address>; error_page 403 goodpage.php; try_files $uri $uri/ =404; } location ~ \.php$ { deny all; allow <one-ip-address>; include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } location /goodpage.php { allow all; include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } 然而,无论我做什么,我总是最终限制所有* .php或没有。 安装程序是Ubuntu 16.04,Nginx 1.10.0,在此先感谢。

在EC2实例上的Amazon Linux中为MSSQL Server安装ODBC驱动程序13

问题: 需要从PHP代码访问和执行MSSQL存储过程。 版本详情: 本地开发机器 – 带有PHP 7的XAMPP的Windows 10 生产系统 – 亚马逊AWS AMI Linux与PHP 5.3.2 我需要的是: 想要使用odbc连接访问我的LOCAL以及LIVE服务器上的MSSQL。 我试过的LIVE服务器: 希望确保LIVE服务器与软件包兼容,并且能够正确安装所需的软件包。 因此,从以下步骤开始: 1)看看下面的链接,我发现我们需要使用ODBC来更快的数据访问: https : //stackoverflow.com/a/31105561 2)尝试在Amazon Linux上安装以下ODBC驱动程序,如下所述: (假设RHEL 6安装程序也可以在Amazon Linux上运行,如果错误请告诉我) 用于SQL Server的Microsoft ODBC驱动程序13.1 – Windows + Linux sudo su curl packages.microsoft.com/config/rhel/6/prod.repo> /etc/yum.repos.d/mssql-release.repo 出口 sudo yum删除unixODBC#以避免冲突 sudo ACCEPT_EULA = Y yum安装msodbcsql-13.0.1.0-1 mssql-tools 但安装程序无法显示下面的错误: Error: msodbcsql conflicts with unixODBC-utf16-2.3.1-1.x86_64 […]

Nginx正在运行,但没有提供PHP文件

我正在尝试在ubuntu 16.0上安装Nginx和php 7,在此之前我只能在Windows上使用WAMP,我已经成功安装了nginx和php,当我在terminal上运行这个命令时: curl -I -v http:// localhost / 它显示nginx服务器是可以的,但它不提供PHP文件,一直试图找出这一点了一天知道,我已经在这个网站上search类似的问题,并在互联网上似乎没有任何帮助,这里是我的configuration文件看起来像: # Default server configuration # server { listen 80 default_server; listen [::]:80 default_server; # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 # # Read up on […]

将环境variables传递给PHP CLI和FPM

我想在我的PHP应用程序中使用CLI和FPM环境variables。 我做的是我: 在/etc/environment导出一些variables。 configurationphp.ini (CLI和FPM)到variables_order = "EGPCS" 。 configurationFPM www.conf clear_env = no 我期望的是在CLI和FPM应用程序中都可以使用环境variables。 实际上,这只适用于CLI。 FPM的$_ENV不包含这些环境variables。 我注意到可以在www.conf定义环境variables,但这样做www.conf方便,因为我必须复制粘贴/etc/environment所有variables,并始终保持两个文件同步。 问题是:是否可以将所有环境variables直接传递给PHP-FPM应用程序,而无需在www.conf粘贴它们?

PHP CURL不发送/接收任何数据 – 未定义的符号:PR_GetEnvSecure

卷毛已经停止为我工作。 我昨天在我的AWS EC2服务器上运行了一些更新,所以我有一种感觉,那就是原因,但我无法弄清楚。 我主要使用Curl将人添加到各种mailchimp列表中。 这些脚本都没有工作,我正在浏览器有关连接不安全的错误: “您试图查看的页面无法显示,因为收到的数据的真实性无法validation。” 我也在我的apache错误日志中看到相关的以下错误: / usr / sbin / httpd:符号查找错误:/usr/lib64/libnsssysinit.so:undefined symbol:PR_GetEnvSecure CURL是安装等(见截图),当我从我的Web服务器上的命令行使用curl时,远程服务器会回复给我……所以这里没有问题。 任何帮助非常感谢。 丹尼。 // Set API Key and list ID to add a subscriber $api_key = 'api key'; $list_id = 'our list id'; $dc = 'data center'; /* ================ * DESTINATION URL * ================ */ $url = 'https://' . $dc . […]

在没有mariadb-libs的情况下安装PHP-Mysql

我试图在我的服务器上安装PHP,运行Centos 7.3; 我已经安装了PHP 5.4,并且运行MySQL Server 5.6.28。 当我试图安装php-mysql时,它试图为依赖项安装mariadb-libs,并停止错误: # yum install php-mysql Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.mirror.nac.net * extras: mirror.vcu.edu * updates: mirror.netdepot.com Resolving Dependencies –> Running transaction check —> Package php-mysql.x86_64 0:5.4.16-42.el7 will be installed –> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: php-mysql-5.4.16-42.el7.x86_64 –> Processing Dependency: libmysqlclient.so.18()(64bit) for package: […]

CentOS 7下载并安装php7.0-cli离线

我需要安装php7.0-cli到没有连接到互联网的cerver。 为此,我尝试从以下源代码包下载并安装php7.0-cli: https://pkgs.org/download/php70-php-cli 但是当我执行下面的命令: sudo rpm -Uvh /opt/lampp/htdocs/php70-php-cli-7.0.21-1.el7.remi.x86_64.rpm 它说: error: Failed dependencies: php70-php-common(x86-64) = 7.0.21-1.el7.remi is needed by php70-php-cli-7.0.21-1.el7.remi.x86_64 所以它需要到目前为止: php70-php-common-7.0.21-1.el7.remi.x86_64.rpm php70-php-json-7.0.21-1.el7.remi.x86_64.rpm php70-runtime-1.0-5.el7.remi.x86_64.rpm 我也下载并尝试安装。 问题是这样的 php70-php-json-7.0.21-1.el7.remi.x86_64.rpm 要求 php70-php-common-7.0.21-1.el7.remi.x86_64.rpm 而这又要求 php70-php-json-7.0.21-1.el7.remi.x86_64.rpm 等等。 所以问题是如何在未连接到互联网的CentOS机器上安装php7.0-cli? 也许有一些准备好的软件包已经与所有需要的东西php7.0-cli容易离线安装? 我是否需要手动下载所需的所有软件包? 也许有一个完整的PHP软件包,可以下载并安装到服务器离线? 谢谢。

nginx通过php脚本提供图片

即时通讯不是非常有经验的Nginx,所以我有点与虚拟主机设置丢失。 基本上我的应用程序,当服务一些图像服务他们通过PHP脚本这是非常简单的与Apache:寻找物理形象 – >如果没有发现推送一切到index.php与请求string作为参数。 不,我正在尝试这个应用程序在Nginx上,除了通过脚本服务的图像(我只是得到一个404),一切工作。 这是我的vgin for nginx: server { listen 80; server_name ~^(www\.)?(?<sname>.+?).subdomain.domain.com$; root /var/www/$sname/current/public; index index.html index.htm index.php; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~* \.(jpg|jpeg|gif|png|bmp|ico|pdf|flv|swf|exe|html|htm|txt|css|js) { add_header Cache-Control public; add_header Cache-Control must-revalidate; expires 7d; } location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; include fastcgi_params; fastcgi_index index.php; } location ~ /\.ht […]

在aws上用django和php设置nginx

我正在尝试在AWS / Linux AMI上为django app和php设置nginx。 Nginx已经被configuration为同时为多个Django应用程序工作,所有的工作正常。 现在我需要包含基于php的第三方解决scheme。 这应该在单独的url/破折号/。 我经历了许多教程和“堆栈”的答案,但没有为我工作。 我已经安装了php和php-fpm。 我在/etc/php-fpm-5.5.d/www.conf修改了configuration文件,并尝试使用socket和TCP / IP: listen = 127.0.0.1:9000 并且 listen = /var/run/php-fpm.sock 重新启动php-fpm服务后,我检查了套接字是否真的被创build。 然后我相应地修改了nginx: location ~ /dash/$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_index index.php; include fastcgi_params; } 我创build了test.php文件来testingphp,并且将第三方解决scheme放到了/ usr / share / nginx / html /中。 当我尝试访问https:// DOMAIN / dash /时,我得到了404错误(或者如果删除了try_files设置,我得到空白页面)。 但是,当我尝试访问https://DOMAIN/dash/index.php或https://DOMAIN/test.php时 […]

AWS亚马逊AMI EC2使用php的shell exec获取内存使用情况

对于这个菜鸟问题的道歉真的会喜欢一些关于我的问题的最佳实践的build议。 我已经在我的箱子中安装了ffmpeg,并且正在运行一个简单的脚本,它使用shell使用shell_exec将.mp3转换为.wav文件。 这工作正常,当没有滥用最近我的服务的用户写了一个macros脚本,开始转换近10,000个MP3的这个过程中,这消灭了我的服务器,直到我拔掉插头。 现在,我完全明白我应该有一些防范这个问题的方法,防止这种情况的最好方法是什么? 我检查了EC2,不得不停下来重新启动,CPU超过了90,所有的东西都崩溃了。 有一个PHP脚本来检查框的CPU加载是否有意义,如果它是超过50%的地方只是不运行脚本? 我还在学习会欣赏一些build议,让我放心,这个问题不会再发生。 谢谢