Articles of PHP

在服务器上分割function

嗨,我想知道最好的方式来设置我目前的应用程序。 这里是一般的概要。 我有一个电话应用程序,可以从vps上传和下载照片,并将文件静态存储在其上。 电话应用程序执行一个脚本的Web请求,该脚本查询本地数据库中的照片文件path,然后返回,然后在另一个请求回到同一服务器的照片。 这台服务器也被用来安置网站。 我想知道什么是分离function的最好方法。 从我的理解,我应该得到另一台服务器,只是在数据库的数据库和脚本在查询数据库服务器的VPS。 我是否应该将照片存储在数据库服务器上,或者应该放在装有数据库的服务器上? 也是我需要一个EC2服务器或将像一个普通的VPS像这样的工作?

我们如何解决Nginx + PHP + FastCGI的这些错误?

我们使用Nginx + PHP + FastCGI作为我们的Web服务器,我们在错误日志中看到了一堆超时错误(见下文)。 我们很快重新启动了nginx,并解决了问题 – 现在。 但是,我们正试图find根本原因并解决问题,所以不会再发生。 特别, 你能向我们解释这个错误还是指出我们朝着正确的方向? 看起来我们一起发生了两个错误:18657(连接失败)和18656(上游超时)。 他们什么时候发生? 有没有办法看到错误发生时服务器上的networking统计信息? 我们希望看到有多less个php进程,入站连接等,当我们遇到问题的时候。 我们怎么能重现这个问题,并确定它? 这里是错误(我们看到数百个,发表了一些): error.log:2011/08/04 19:31:44 [error] 18657#0:* 464859 connect()失败(110:连接超时)连接上游时,client:166.205.138.117,server:api.website .com,请求:“POST / v3 / logAgentEvent HTTP / 1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“api.website.com” error.log:2011/08/04 19:31:44 [error] 18656#0:* 464476上行超时(110:连接超时),从上游读取响应头时,客户端:98.140.86.90,server:api。 website.com,请求:“POST / v3 / logAgentEvent HTTP / 1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“api.website.com”

Linux上的PHP5软件包Mint Debian不会正确安装

我运行Mint Debian 64位,并尝试安装PHP5包在apache2上运行。运行以下apache安装后,我可以到http:// localhost / sudo aptitude install apache2 然后,我使用以下和PHP安装安装PHP5。 sudo aptitude install php5 然后我继续去/ var / www并创build一个test.php文件来填充它 <?php phpinfo(); ?> 然后我去http://localhost/test.php ,而不是打开一个PHP文件下载。 我查看下面的目录,找不到应该在那里的php5.conf或php5.load文件。 /etc/apache2/mods-available/ 另外运行a2enmod不会在列表中列出php。 aptitude确认libapache2-mod-php5确实已经安装。 从中提取php5.conf和php5.load /var/cache/apt/archives/libapache2-mod-php5_5.3.6-13_amd64.deb 并将它们转储到下面并重新启动会产生相同的结果 /etc/apache2/mods-available 然后运行a2enmod现在显示列表中的PHP,但即使启用它,我仍然得到相同的结果。 我已经完全清除使用“aptitude purge”所有PHP和Apache包,重新启动,然后重新安装只是为了达到相同的结果。 我几乎准备好手动下载和编译这些东西。 不过,我正在试图避免这一点,因为我喜欢Debian的包装模式 更新:我注意到,当你删除libapache2-mod-php5包时, libapache2-mod-php5filter取而代之。

无法获得一个symfony项目来跟随我的资源的符号链接

我有与另一个项目共享的资源。 我将显示的产品图片存储在我使用symfony的新项目中的一个文件夹中。 在我的symfony项目中,在/web/images文件夹中,我创build了一个符号链接到我的图片存储的文件夹。 我确定符号链接指向的图片文件夹下的每个文件和文件夹的权限都设置为777,任何人都可以访问它们。 一切工作正常,直到我启用mod的Apache重写。 /web/images文件夹中的/web/images完美显示,但是通过符号链接可以访问的任何东西都没有显示出来。 我立刻想到符号链接是这种行为的原因,我检查了我的网站的Apacheconfiguration。 此外,阅读symfony,我检查/web文件夹下的.htaccess文件,并添加了行: Options FollowSymLinks 这也没有工作。 这是我的网站configuration: #<VirtualHost mydomain.com> <VirtualHost *:80> #ServerAdmin webmaster@localhost ServerAdmin [email protected] ServerName mydomain.com ServerAlias www.mydomain.com #DocumentRoot /var/www DocumentRoot /srv/www/mydomain.com/public_html/ <Directory /> Options FollowSymLinks #AllowOverride None AllowOverride All Order allow,deny allow from all </Directory> #<Directory /var/www/> <Directory /srv/www/mydomain.com/public_html/> Options Indexes FollowSymLinks MultiViews #AllowOverride None AllowOverride All Order […]

运行Magento的php站点可以启用execfunction吗?

我们为需要安装Magento扩展的Magento站点提供服务。 对于大型网站,这个扩展需要运行一个需要execfunction的后台进程。 我们的开发者声称,要求我们的客户在他们的网站上启用exec是合理的。 你的PHP专家和pipe理员同意吗? 预先感谢您的意见。

在CentOs5上升级PHP

今天早上我用yum升级从php 5.1.6升级到5.3+然后我去了我的一个网站,发现它崩溃了,build立数据库连接时出错。 我发现通过这个问题从1and1 VPS安装在Linux上的PHP ,这是因为centos5已经过时了,我被提供了使用MadHatter个别包的替代scheme。 我刚刚尝试过的解决scheme,然后检查我的PHP版本,并没有升级。 我刚刚了解到,这是因为我的服务器软件是Virtuozzo / Plesk,而且这些软件有自己的php版本,与live网站的版本不同,事实certificate,我正在使用Yum的服务器版本的php 。 有没有什么办法可以改变我的PHP版本,或任何其他build议的工作。 我的phpinfo()在http://www.spotblue.co.uk/phpinfo.php 我正在撕掉我的头发,所以任何帮助感激地收到。

PHP不运行脚本,而是下载它们

我知道,这是一个非常典型的问题,但我用尽了想法。 是的,该模块已安装: # aptitude search libapache2-mod-php5 i libapache2-mod-php5 – server-side, HTML-embedded scripting language (Apache 2 module) p libapache2-mod-php5filter – server-side, HTML-embedded scripting language (apache 2 filter module) 并启用: # ls -l /etc/apache2/mods-enabled/php* lrwxrwxrwx 1 root root 27 2011-08-31 13:49 /etc/apache2/mods-enabled/php5.conf -> ../mods-available/php5.conf lrwxrwxrwx 1 root root 27 2011-08-31 13:49 /etc/apache2/mods-enabled/php5.load -> ../mods-available/php5.load # cat /etc/apache2/mods-enabled/php5.conf […]

由于分段错误,Apache无法启动

请帮我弄清楚为什么Apache2不会启动: root@myUbuntu804ServerName:~# /etc/init.d/apache2 start * Starting web server apache2 Segmentation fault …fail! 运行它的应用程序主要是PHP。 我如何去诊断和解决这个问题? 谢谢!

在OS X 10.6上添加新的ODBC驱动库到PHP?

我试图从安装的股票PHP(OS X 10.6)通过ODBC访问PostgreSQL数据源。 查询只是挂起,我怀疑它找不到通过MacPorts安装的PostgreSQL驱动程序库。 我使用这个configuration从源代码编译并安装了psqlODBC驱动程序: –prefix=/usr/local –with-iodbc –with-libpq=/opt/local/lib/postgresql84/bin/pg_config 我已经使用iodbctest成功创build和testing了ODBC连接。 我需要做些事情来获得Apache / PHP来看看libpq吗?

PHP启用sqlite phpinfo状态–without-sqlite

我见过类似的问题,但没有一个能够充分解决我的问题。 我在亚马逊云服务器上运行Apache和PHP 5.3.6。 phpinfo一直说sqlite被禁用。 至less从configuration线看起来是这样的: './configure' … '–without-sqlite' 在phpinfo()的其他部分输出: PDO PDO drivers mysql, sqlite PDO Driver for SQLite 3.x enabled SQLite Library 3.6.20 sqlite3 SQLite3 support enabled SQLite3 module version 0.7-dev SQLite Library 3.6.20 Directive Local Value Master Value sqlite3.extension_dir no value no value 并至less有一个以下的PHP命令失败: if (!extension_loaded('SQLite') OR !function_exists('sqlite_open')) 百胜安装状态,sqlite和pdo-lite已经安装。 我试图启用sqlite编辑我的本地php.ini通过添加: ; Enable sqlite3 extension […]