Articles of PHP

在AWS上定制EC2实例php.ini文件时出错

我在AWS上使用Elastic Beanstalk,我试图覆盖php.ini文件中的一些设置。 我已经在其中使用project.config目录/.ebextensions: files: "/etc/php.d/project.ini" : mode: "000644" owner: ec2-user group: ec2-user content: | date.timezone = "Europe/Berlin" error_reporting = E_ALL & ~E_STRICT & ~E_NOTICE & ~E_WARNING display_errors = Off 当我重新部署应用程序时,EBS引发以下错误: The configuration file __MACOSX/gf/.ebextensions/._project.config in application version gf3 contains invalid YAML or JSON. YAML exception: unacceptable character '' (0x0) special characters are not allowed in […]

如何在Apache上运行su启动PHP?

我试图用PHP shell_exec函数运行su命令。 起初我试过: <?php echo(shell_exec('echo \'password\' | su user -c \'whoami\' 2>&1;')); ?> 我得到了: su: must be run from a terminal 然后我用python的pty读了关于产卵terminal并把它放到shell代码中: <?php echo(shell_exec('echo "if [ -t 1 ] ; then echo "terminal found"; fi; echo \'password\' | su user -c \'whoami\'; exit" | python -c \'import pty; pty.spawn("/bin/bash")\' 2>&1;')); ?> 这里是输出: if [ -t […]

如何在CentOS 6 x86_64上安装php56

当我运行yum install php php-devel php-mysql php-gd php-mbstring ,它会安装php5.3。 yum list installed *php* Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: ftp.tsukuba.wide.ad.jp * epel: ftp.kddilabs.jp * extras: ftp.tsukuba.wide.ad.jp * updates: ftp.tsukuba.wide.ad.jp Installed Packages php.x86_64 5.3.3-46.el6_6 @updates php-cli.x86_64 5.3.3-46.el6_6 @updates php-common.x86_64 5.3.3-46.el6_6 @updates php-devel.x86_64 5.3.3-46.el6_6 @updates php-gd.x86_64 5.3.3-46.el6_6 @updates php-mbstring.x86_64 5.3.3-46.el6_6 @updates php-mysql.x86_64 […]

将常见的Web应用程序代码分享给许多Web服务器

将常见Web应用程序代码分享给许多Web服务器的最佳方式是什么? 例如,我有一个包含用PHP编写的Web应用程序的目录。 现在,我有多台机器可以提供相同的内容,每台机器运行一个networking服务器,使用TCP / IP均衡器进行负载平衡。 我还没有尝试过这种情况下的NFS。 但是根据慢速NFS传输小文件的性能,由于涉及很多[小]文件,传输性能会很慢。 编辑:我想集中存储在一个位置的所有文件,所以更新到代码将由web服务器立即读取。

我怎样才能防止用户看到我的PHP源代码?

我最近尝试访问我的网站,我看到一些令人不安的东西 – 用户可以下载index.php文件,看看它的内容,PHP代码! Apache可以如何提供PHP源代码而不是运行PHP源代码呢? 是否因为我们正在更新我们的网站进行维护? 我用这个代码: ErrorDocument 503 "Our website is temporarily closed for maintenance. It should reopen by…" RewriteEngine On # TO ALLOW YOURSELF TO ACCESS THE SITE NORMALLY, SET THE NEXT LINE TO YOUR IP ADDRESS. RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.444$ RewriteRule .* – [R=503,L] 现在显示此消息。 但是,如果我再次发生这种情况,我怎么能自动出现?

为什么我的networking服务器只使用2个内核? (8核可用)

Helo,我的服务器是一个2x四核心,8gb内存,它运行一个中型网站的LAMP(每天打开120页)我安装了munin来监视CPU,这是图: http://img834.imageshack。 us / img834 / 3483 / downloadv.png为什么它只使用8个内核中的2个? 也许这个munin算不上cpu的负载? 有一种方法来强制多任务IP的PHP MySQL的Apache? 我已经使用MPM与Apache。 谢谢西蒙

我如何知道如何安装PHP

有没有办法解决如果PHP是作为一个通用的apt-get包的一部分安装,从源代码编译或在Ubuntu上安装其他方式? 我需要重新编译一些更多的选项,我想尝试并按照正确的升级path。

在CENTOS上安装最新的apache和php最简单的方法

我正在寻找在CENTOS 6.4(x64)上安装最新版本的apache(目前是2.4.4)和PHP(目前是5.4.13)的最简单也是最理智的方法,并且我遇到了问题。 如果我在默认版本库中使用yum,3年前的最新版本是2.2.15(似乎已经在2010年3月发布)。 真? 我想在我的全新服务器上安装一个三年前的Web服务器? 所以我接下来看到从源代码构build – 这是我能够做的,但是当我完成安装,我想testing卸载,所以我做了一个“使卸载”,并与一个消息招呼:***没有规则,使目标`卸载'。 太好了,我不能以自动的方式卸载它以后升级? 另外,当我从源代码构buildPHP时,依赖关系之后我面临依赖。 我继续逐一安装,直到最终放弃。 这似乎不是一个合理的方法 – 无法卸载 – 永无止境的依赖关系。 接下来,我查看了像REMI这样的替代存储库 – 看起来REMI提供了PHP5.4.13,它需要apache 2.2.15你会得到一个消息,说明需要:httpd-mmn = 20051115(这显然是Apache 2.2.15的一部分 接下来我看着从源代码构build我自己的RPM。 (至less这样我可以很容易地卸载它们。)这工作相当好 – 最初。 我能够很容易地build立一个RPM的Apache,并有一点努力,我能够调整PHP来寻找Apache 2.4.13,但是在我这样做后,我还是提示php54需要的错误要求:libcurl.so 0.3()(64位)。 我似乎已经curl和libcurl,libcurl-devel安装。 在这一点上,我感到沮丧 – 必须有一个更简单的方法来获得更新的Apache和PHP的堆栈没有这种疯狂。 其他pipe理员如何做到这一点? 有没有一些秘密的做法,我不知道? 还是每个人只是运行真正的旧版本的Apache和PHP,并忽略他们充满了安全漏洞?

追踪shell命令的来源

在我们的一个服务器的apache错误日志(/ usr / local / apache / logs / error_log)中,我们看到一个经常运行的shell命令,它会抛出一个错误,如下所示: sh: list_price: command not found list_price是我们在超过50个网站的电子商务系统中使用的字段,当然没有可疑的。 问题是我们不知道如何传递给shell – 我们已经检查了exec()和system()的所有事件,我们不知道这是如何传递的。 有没有什么办法可以更容易地发现这个来源是什么,因为没有什么比上面提到的更有意义的输出。 仅供参考,在运行CentOS 5的服务器上,所涉及的站点都是PHP。

Unix命令从我的服务器下载文件?

我在我创build的服务器上有几个php文件,我想将它们下载到这台计算机上进行备份。 是否有捷径可寻? (我通过SSH连接到我的服务器)。 另外,那里有任何程序可以定期来源控制或自动备份我的服务器上的webroot目录?