Articles of PHP的

yum在centos上安装php-pear *

我试图在我的centos上安装pear。 我用“* yum安装php-pear **”来安装pear,它似乎安装成功。 没有错误。 我重启我的服务器。 但是,当我检查出phpinfo()。 我看到我的PHP仍然使用“ –without-pear ”构build。 是不是应该重build我的PHP与梨? 什么可能会出错? 谢谢!

exec()和phantomjs问题与绝对path

我正在使用phantomJS编程取网页的屏幕截图。 我的networking服务器运行在Linux 64位上。 情景 我的test.php文件 exec('./phantomjs –version', $o, $e); print_r($o); echo $e; 我在浏览器中打开test.php 。 我得到的是: 1.9.1 // version number 0 // exit code 这certificate我可以通过exec()运行命令, phantomJS正在完美运行。 问题 现在,当我用上面的代码replace: exec('./phantomjs http://mywebsite.com/test.js', $o, $e); print_r($o); echo $e; 输出是: Array ( ) // empty output 139 // exit code which on investigating turned out to be segmentation fault 我也试过: […]

在Linux或其他支持UTF-8的驱动程序上安装SQLSRV驱动程序?

SQLSRV是唯一能够将UTF-8string存储到双字节列( NVARCHAR而不是VARCHAR )的PHP驱动程序,该列目前由Microsoft为PHP 5.2.X和5.3.X维护和支持。 我也有链接,下载这些驱动程序Linux的SQLSRV驱动程序下载的Linux,但我无法configuration。 如果有人已经知道如何在Linux上configurationsqlsrv驱动程序,或者有其他的select,以UTF-8格式从SQL服务器检索数据,请分享。

curl命令返回http / 1.1 406不可接受的错误

我正在使用下面的命令行curl知道我的网站是否支持压缩和caching curl –head –compress http://www.mysite.com 它返回以下结果 Http://1.1 406 Not Acceptable Date: Wed, 28 Dec 2011 07:41:32 GMT Server: Apache Content-Type: text/html; charset-iso-8859-1 你对这个问题有什么看法? 谢谢

如何更频繁地运行Cronjobs每分钟一次?

我创build了一个电子邮件队列数据库表。 我将插入我的PHP应用程序需要发送到这个表中的所有电子邮件。 另一个PHP脚本将查找所有未发送的电子邮件并发送它们。 我用cronjobs运行这个脚本。 不幸的是,cronjobs每分钟最多只能运行一次。 因此,在最坏的情况下,用户必须等待一分钟,直到他的电子邮件真的将被发送。 我目前的解决方法是使用addtional sleep参数调用脚本并复制cronjob。 例: * * * * * curl emails.php?sleep=0 >/dev/null 2>&1 * * * * * curl emails.php?sleep=10 >/dev/null 2>&1 * * * * * curl emails.php?sleep=20 >/dev/null 2>&1 * * * * * curl emails.php?sleep=30 >/dev/null 2>&1 * * * * * curl emails.php?sleep=40 >/dev/null 2>&1 * […]

默认情况下,PHP 5.3似乎缺lessIntl扩展

我的系统是Ubuntu 12.04,PHP 5.3,我试图运行一些基本的Intl代码,如下所示: <?php $coll = collator_create('en_US'); $result = collator_compare($coll, "string#1", "string#2"); 并输出 PHP Fatal error: Call to undefined function collator_create() 从5.3版开始,Intl扩展是否应该与PHP捆绑在一起? PHP是通过apt-get使用这个命令行安装的(我不使用Apache): apt-get install php5 php5-cli php5-mysql php5-cgi php5-fpm php5-curl php-apc php5-memcache php5-memcached php5-common php5-gd php-xml-parser php-pear php5-imap php5-mcrypt php5-xdebug php5-suhosin 这是什么php -v产生的: PHP 5.3.10-1ubuntu3.5 with Suhosin-Patch (cli) (built: Jan 18 2013 23:40:19) Copyright […]

我怎样才能弄清楚为什么cURL挂起和不响应?

我想用PHP中的cURL调用来追踪一个问题。 它在我们的testing环境中工作正常,但不在我们的生产环境中。 当我尝试执行cURL函数时,它只是挂起,从不回应。 我试图从命令行做一个cURL连接,发生同样的事情。 我想知道cURL是否logging了发生什么事的地方,因为我无法弄清楚在命令搅动和搅动的时候发生了什么。 有谁知道是否有一个日志,跟踪发生了什么? 我认为这是连接问题,但我们的IT人坚持我应该能够访问它没有问题。 有任何想法吗? 我正在运行CentOS和PHP 5.1。 更新:使用详细模式,我得到了一个错误28“连接()超时”。 我试着把超时时间延长到100秒,并将最大值减至5,没有变化。 我尝试了ping箱子,也得到了暂停。 所以我要把这个提交给IT部门,看看他们是否会再看一遍。 感谢所有的帮助,希望我能在半小时内回复这个问题。 更新2:结果我的盒子正在parsing与外部IP地址的服务器名称。 当IT给我的内部IP地址,我把它换成curl的电话,一切都很好。 感谢大家的帮助。

在* nix中,是什么导致顶部命令“睡眠”?

是什么导致了我在top看到的这些sleeping过程? 如果我要调用PHP的sleep()函数,是否会增加我在top看到的sleeping计数? sleeping有没有什么缺点?

php exec()命令权限被拒绝

我有一个C ++可执行文件'skypeforwarder'。 如果我在Macterminal中使用命令行,skypeforwarder的作品:henry $ /Users/henry/Desktop/skypeForwarder/skypekit-sdk_sdk-4.1.2.20_793394/examples/cpp/tutorial/step3/skypeForwarder sh: /Users/henry/Desktop/skypeForwarder/skypekit-sdk_sdk-4.1.2.20_793394/examples/cpp/tutorial/step3/skypeForwarder: Permission denied 但它总是发出“权限被拒绝”,如果它在php exec()中调用; <?php echo exec('whoami'); $output = null; $execBuild = '/Users/henry/Desktop/skypeForwarder/skypekit-sdk_sdk-4.1.2.20_793394/examples/cpp/tutorial/step3/'; $execBuild .= 'skypeForwarder'; $n = exec($execBuild, $output); 我搜查了很多。 问题应该是Web服务器的PHP /浏览器权限的问题。 我也试图改变文件的所有者: -rwxr-xr-x 1 henry staff 1212716 19 Apr 11:23 skypeForwarder 至 -rwxr-xr-x 1 _www staff 1212716 19 Apr 11:23 skypeForwarder 它仍然不起作用。 我根据http://foundationphp.com/tutorials/php_leopard.php在我的mac中设置了apache

通过FTP添加新文件时运行PHP脚本

我有多台摄像机通过FTP随机发送图像到预定的文件夹。 例如: 录制/相机1 /图像/ – 第一台相机 录制/相机2 /图像/ – 第二台相机 等等 每个人都以.jpg格式保存图像,然后closuresFTP连接。 每次添加新文件后,我都需要调用一个PHP脚本。 让我们说,每当一个新的图像被添加到/录音文件夹我需要调用PHP脚本 newimage.php?location=recordings/camera1/images/picture002.jpg 等等。 服务器是运行ProFTPD的Linux机器 我怎样才能做到这一点? 请注意:Cron作业不是一个选项,因为会有数千个文件,而且我们没有使用数据库。 所以我们不能确定是否有新的文件。