Articles of PHP

Apache和打开文件

我已经尝试编辑/etc/security/limits.conf但是Apache需要一个PAM插件才能工作,对吧? nobody soft nofile 40960000 nobody hard nofile 102400000 phpuser soft nofile 40960000 phpuser hard nofile 102400000 httpd soft nofile 40960000 httpd hard nofile 102400000 nginx soft nofile 40960000 nginx hard nofile 102400000 * soft nofile 40960000 * hard nofile 102400000 我试过设置 fs.file-max = 20970800 net.core.somaxconn = 1024000 kern.maxfilesperproc = 16638400 kern.maxfiles = 819200 在sysctl.conf中,但仍然没有运气。 […]

亚马逊Linux,PHP 5.5:php.ini被忽略

在我们的Amazon EC2实例中,我卸载了PHP5.3( yum remove php )并安装了PHP 5.5,它也捆绑在Apache 2.4( yum install php54 )中。 出于某种原因,我的php.ini文件不再被读取。 它看起来像它可能会被弃用,也许我应该使用/etc/php-5.5.ini而不是 – 但也没有被阅读! (奇怪的是,我找不到任何文档。谷歌search“php-5.5.ini”(带引号)返回没有帮助的结果! 运行php –ini ,我得到这个: [ec2-user@ip ~]$ php –ini Configuration File (php.ini) Path: /etc/php-5.5.d Loaded Configuration File: /etc/php-5.5.d/php.ini Scan for additional .ini files in: /etc/php-5.5.d Additional .ini files parsed: /etc/php-5.5.d/apc.ini, /etc/php-5.5.d/bz2.ini, /etc/php-5.5.d/calendar.ini, /etc/php-5.5.d/ctype.ini, /etc/php-5.5.d/curl.ini, /etc/php-5.5.d/dom.ini, /etc/php-5.5.d/exif.ini, /etc/php-5.5.d/fileinfo.ini, /etc/php-5.5.d/ftp.ini, /etc/php-5.5.d/gd.ini, /etc/php-5.5.d/gettext.ini, […]

VirtualBox转发特定的IP给客人

我有一台安装了Ubuntu 13.10的专用服务器,还有一个使用Virtualbox和phpvirtualbox的基本安装来pipe理它的客户操作系统。 我有两个IP地址指向服务器,我想纯粹用于其中的一个虚拟操作系统,我与Ubuntu 12.04上。 这意味着每个端口等都将通过主机服务器并直接转发到该客户机操作系统。 我已经看过VirtualBox上不同的networking方法,但似乎没有为我。 如果我使用NAT和端口转发,我可以设置来宾PC只通过那个第二IP注册到那些端口的呼叫。 但是我不能使用任何标准的端口已经在主机上使用,如SSH或80,因为主机在两个IP上使用它们 我如何才能让主机操作系统将所有内容都传递给特定的客户机操作系统以获得特定的IP? 我做错了,我需要使用不同的主机types? 编辑: 从研究和意见看起来桥接应该是前进的方式,但我又卡住了,这里是我的/ etc / network / interfaces文件.. # Loopback device: auto lo iface lo inet loopback # device: eth0 auto eth0 iface eth0 inet static address 1.2.3.4 broadcast 1.2.3.5 netmask 255.255.255.200 gateway 1.2.3.1 # default route to access subnet up route add -net 1.2.3.6 netmask […]

亚马逊Linux LAMP与PHP 5.5

我通过这里的说明在我的Amazon Linux VPS上安装了PHP 5.5。 CLI工作正常。 我也有安装Apache并通过httpd包运行。 它运行没有任何问题。 我看到可用模块列表中没有mod_php 。 现在,当我尝试重新启动httpd我得到的错误: httpd:/etc/httpd/conf/httpd.conf第222行的语法错误:/etc/httpd/conf.d/php.conf第6行的语法错误:无法加载/etc/httpd/modules/libphp5.so到服务器:/etc/httpd/modules/libphp5.so:符号SSLeay_version,版本OPENSSL_1.0.1未在文件libcrypto.so.10中定义,带有链接时间参考 我查了这个错误的一部分,一般的build议似乎是运行 yum update openssl 但是,当我运行这个我只是得到: 没有包标记为更新 当我运行install而不是update ,我得到: 套件1:已经安装了openssl-1.0.1e-4.55.amzn1.x86_64和最新版本 没事做 我不确定在这一点上还有什么要做的。

谁或什么是从我的服务器(CentOS / Apache / suPHP)发送垃圾邮件

我的服务器正在发送大量的垃圾邮件,现在我search了几个小时的问题。 谷歌search后,我find了一个论坛,他们谈论这个,并提到深入到日志,所以我做了,发现电子邮件发送:[用户名] @ vps1。[主机名]。[tld]。 在论坛上他们说这些电子邮件可能是从我的服务器发送的,因为这不是一个使用的电子邮件地址。 他们还提到挖掘到PHP日志。 我试过这个,但找不到任何东西,所以通过电子邮件标题,我现在试图检测发送所有这些电子邮件的脚本。 我现在被卡住了 我已经通过添加以下规则更改了php.ini: mail.add_x_header = On mail.log = /var/log/phpmail.log 另外我通过添加这行添加了exim.conf : +arguments \ 重新启动exim和apache,但是在exim日志中没有看到任何X-PHP-Script头文件,并且php邮件日志没有被创build。 只有我看到的是在exim日志中的X标题: X=TLSv1:RC4-SHA:128 任何人都可以告诉我下一步该做什么? 编辑 以下是来自exim日志的一些行: bash-3.2# cat /var/log/exim/mainlog | grep 1W9FsC-0003qq-S2 2014-01-31 16:19:16 1W9FsC-0003qq-S2 <= [email protected] U=instijl P=local S=816 T="Re: It's good to see you," from <[email protected]> for [email protected] 2014-01-31 16:19:16 cwd=/var/spool/exim 3 args: /usr/sbin/exim […]

安装了libssh2-php,但没有使用php -m的ssh2

我在Ubuntu 13.10服务器上使用php 5.5.3,并希望使用ssh2与PHP。 所以我用这个命令安装了libssh2-php: apt-get install libssh2-php 安装运行没有错误。 在/etc/php/conf.d中有一个ssh2.ini文件。 重新启动apache2甚至重新启动服务器,但php -m | grep ssh2 php -m | grep ssh2没有返回任何东西。 phpinfo()也没有ssh条目:( 什么不见​​了?

PHP升级总是破坏会话文件夹的权限

每次我在CentOS上升级php(通过yum升级),我的/ var / lib / session文件夹的所有权变成root:apache,拥有600个权限。 我使用nginx作为我的web服务器。 这打破了我的网站,并防止会话被存储。 解决方法是简单地将nginx:nginx文件夹。 但是我必须每次yum更新php时手动执行此操作。 我想这个问题源于事实,当我最初设置箱子,我跑了阿帕奇。 我可以在哪里修改这个configuration为“nginx”来解决这个问题? 我看了一下php.ini,但在那里看不到任何相关的东西。 会话目录是指定的,但没有关于用户。

带有IMAP的PHP CLI,5秒启动延迟

在RedHat Enterprise 6.5服务器上安装了“php-imap-5.3.3-27.el6_5.x86_64”后,PHP的CLI版本总是需要5秒钟才能运行: php -n -d extension=imap.so -v PHP 5.3.3 (cli) (built: Dec 5 2013 07:09:40) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies real 0m5.023s user 0m0.006s sys 0m0.010s 请注意,“-n”禁用通常的php.ini,只加载“imap.so”(仅用于debugging目的)。 你有什么想法可能造成这种情况? 它似乎是暂停的东西,可能是一个超时? 在SELinux审计日志中没有提到任何东西,但是有趣的是,加载这个库似乎正在尝试(失败?)连接到DNS服务器出于某种原因? strace -s -c php -n -d extension=imap.so -v execve("/usr/bin/php", […], [/* 24 vars */]) = […]

如何获得cURL错误进入正确的日志文件?

我有一个网站运行使用Apache 2.2.22,PHP 5.3.10和cURL 7.2.00。 下面是apacheconfiguration的相关部分,您会注意到错误发送到www.example.com_error.log 。 <VirtualHost *:443> ServerName example.com ServerAlias www.example.com # *snip* ErrorLog ${APACHE_LOG_DIR}/example.com_error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined </VirtualHost> 但是,当我从PHP内使用cURL,并使用curl_setopt($connection, CURLOPT_VERBOSE, true);详细日志loggingcurl_setopt($connection, CURLOPT_VERBOSE, true); cURL的输出进入Apache的error.log而不是我上面定义的自定义日志文件。 为什么是这样,我怎样才能让cURL的输出进入正确的日志文件?

用于在Ubuntu上运行PHP的www数据用户的umask

在Ubuntu 14.04中设置一个新的Web服务器,并试图为PHP生成的文件争夺文件权限。 默认情况下, /var/www中的所有目录和文件都拥有/分组到www-admin。 目录权限是rwxrwsr-x ,文件权限是rw-rw-r– 。 然后,我们将有限数量的目录组设置为www-data – 这样PHP(通过Apache)就可以在这个位置写入日志和caching文件。 但是,我不能让PHP服从0002的umask,所以PHP生成的文件只能写入www-data用户。 这是一个问题,因为我们使用持续集成和其他一些清理过程。 到目前为止,我有: 在/etc/pam.d/common-session中将umask设置为0002 在/etc/pam.d/common-session-noninteractive中将umask设置为0002 在/etc/profile中将umask设置为0002 在/etc/apache2/envvars中将umask设置为0002 在/etc/login.defs中将umask设置为0002 在/etc/passwd使用sudo chfn -o "umask=002" daemon_username 而我仍然卡住。 我已经停止/启动服务,甚至重新启动电脑 – 没有喜悦。