Articles of PHP的

最佳/更好/最佳的方式来设置登台/开发服务器

我最近推出了一项服务,意味着我不能再直接在网站上工作,否则我会冒这个风险。 我一直没有find任何“标准”或“最好”的方式来制作一个开发服务器。 我看到的两件事是 a)使用GIT或SVN来托pipe数据(这并不能解决我的问题,我需要能够在某个地方开发,最好不是我的家用电脑) b)Capistrano(对于Rails,有没有PHP的东西?) 目前我正在看的解决scheme是在“development.domain.com”上放置一个完整的服务器副本,然后允许我处理所有事情,并且可以简单地将这些文件复制到主要部分。 这是一个可行的解决scheme? 什么是最佳解决scheme? (单独的服务器,专用工具等) 编辑这个系统由许多开发者开发。 服务器设置已经做了相当大的调整,以实现系统的全部function和安全性。 在我自己的计算机上进行开发不是一个可行的解决scheme,也不是一个Intranettypes的系统,因为我们的程序员都不在同一个位置。 我正在寻找一个服务器上的解决scheme。

在生产服务器上使用subversion生成文件的最佳方式是什么?

目前我有颠覆设置,所以当我在Eclipse PDT进行更改,我可以提交更改,他们将被保存在/ home /pipe理员/ 项目文件 。 这个文件有subversion推荐的/ branches / tags和/ trunk目录。 我没有问题正确上传文件到版本库,但是我必须“mv”Linux中的文件到/ var / www为了让他们住在服务器上? 有没有一个自动过程来做到这一点,我失踪了? 我假设我们不想让/ var / www目录(这是在机器上)存储库,但我不知道。

Magento扩展404错误

我难倒了! 我有一个自定义的扩展,在Mac Leopard上本地工作的很好,但是在推送到主机(Centos Linux)后,当我尝试调用前端路由器时,出现Magento 404错误。 例如,这个URL:[domain] /shop/index.php/bbyd_sync/index/导致实时404,但本地返回“完成”。 这是我的config.xml: <config> <modules> <Bbyd_Sync> <version>0.1.0</version> </Bbyd_Sync> </modules> <crontab> <jobs> <bbyd_sync> <schedule> <cron_expr>*/5 * * * *</cron_expr> </schedule> <run> <model>sync/run::runAll</model> </run> </bbyd_sync> </jobs> </crontab> <frontend> <routers> <sync> <use>standard</use> <args> <module>Bbyd_Sync</module> <frontName>bbyd_sync</frontName> </args> </sync> </routers> </frontend> <admin> <routers> <wrapper> <use>admin</use> <args> <module>Bbyd_Sync</module> <frontName>syncadmin</frontName> </args> </wrapper> </routers> </admin> <adminhtml> <acl> <resources> […]

dynamic安排提醒电子邮件的最佳方式? 比cron更好的吗?

问候,我正在开发一个Web应用程序。 其中的一部分将允许用户安排“提醒”电子邮件发送给他们在一天的特定时间。 什么是完成这个最好的方法? 基本上,当我想要的是一个“中断”模式时,我所提出的所有解决scheme都以“轮询”模式进行操作。 以下是我提出的一些可能的解决scheme: 每分钟都有一个cronjob火灾。 启动的脚本检查数据库以查看是否有任何电子邮件发送,如果有,则发送它们,否则它会重新进入睡眠状态。 缺点是每分钟都会有一些开销。 此外,这可能不是一个可扩展的系统,特别是当用户数量过大,发送所有电子邮件可能花费一分钟。 与#1相同,但工作每15分钟才会启动。 这样更容易pipe理,但并不完美,因为它限制了用户在15分钟的时间内提醒,并且在没有电子邮件发送时仍然会产生一些开销。 不错,但也不完美。 让PHP exec()有一些代码可以dynamic地改变crontab或者在底层的linux中调度“at”作业。 这会给我灵活性和“中断”型的模型,所以我会很渴望,但是会让PHP执行exec()linux代码的时候会出现一个巨大的安全漏洞。 所以,我要继续前进,把这个排除在外。 那么,比我想出来的更好吗? 也许没有使用cron安排电子邮件的方式? 我很好奇,看看你们有什么要说的:)。

我如何在Linux上编译与所有发行版共享?

我在Fedora Core 12上编译了一个PHP扩展,但是当我把它发送给使用CentOS的人时,他们得到错误:“ELF file OS ABI invalid” 我不确定是什么原因导致这个正在运行的文件提供了以下信息:ELF 64位LSB共享对象,AMD x86-64,版本1(GNU / Linux),没有剥离 加载正常的扩展从文件中提供以下内容:ELF 64位LSB共享对象,AMD x86-64,版本1(SYSV),未删除 所以看来我需要为某些发行版产生一个SYSVtypes文件,而不是GNU / LINUX文件,不知道如何。 任何指针? 也应该静态链接?

search文件夹中的所有文件的string

我正在寻找最快的方法来search一些string到一些文件夹结构。 我知道我可以用file_get_contents从文件中获取所有内容,但是我不确定是否快。 也许已经有一些快速的解决scheme。 我正在考虑使用scandir来让所有文件和file_get_contents读取它的内容和strpos来检查string是否存在。 你认为有更好的方法吗? 或者也许试图使用PHP的执行与grep? 提前致谢!

如何在PHP中与PKCS#11兼容的HSM设备进行接口

如何在Linux服务器上运行的PHP应用程序中使用PKCS#11兼容HSM(例如SafeNet iKey 2032 [USB]或Aladdin eToken PRO [USB])中的密钥材料?

如何获得proc_open()的输出

我试图从php的proc_open方法得到输出,但是,当我打印它,我得到空。 $ descriptorspec = array( 0 => array(“pipe”,“r”), 1 => array(“pipe”,“w”), 2 => array(“file”,“files / temp / error-output.txt”,“a”) ); $ process = proc_open(“time ./a a.out”,$ descriptorspec,$ pipes,$ cwd); 只要我知道,我可以得到stream_get_contents()的输出 echo stream_get_contents($ pipes [1]); FCLOSE($pipe[1]); 但是我不能这么做..有什么build议吗? Thx之前…

当LAMP服务器上有数百万用户时,什么是最快和最有效的存储和提取图像的方式?

这是迄今为止我提出的最好的方法,我想知道是否有一个更好的方法(我确定有!)来存储和获取数以百万计的用户图像: 为了保持目录的大小,并避免对数据库进行任何额外的调用,我使用基于用户的唯一ID计算的嵌套目录如下: $firstDir = './images'; $secondDir = floor($userID / 100000); $thirdDir = floor(substr($id, -5, 5) / 100); $fourthDir = $userID; $imgLocation = "$firstDir/$secondDir/$thirdDir/$fourthDir/1.jpg"; 用户ID( $userID )的范围从1到数百万。 所以,如果我有用户ID 7654321 ,例如,该用户的第一张照片将被存储在: ./images/76/543/7654321/1.jpg 对于用户ID 654321 : ./images/6/543/654321/1.jpg 对于用户ID 54321 ,它将是: ./images/0/543/54321/1.jpg 对于用户ID 4321 ,它将是: ./images/0/43/4321/1.jpg 对于用户ID 321 ,它将是: ./images/0/3/321/1.jpg 对于用户ID 21 ,它将是: ./images/0/0/21/1.jpg 对于用户ID 1 ,它将是: ./images/0/0/1/1.jpg 这确保了用户高达100,000,000,我永远不会有一个目录超过1000个子目录,所以它似乎保持干净和高效。 […]

Nginx下载PHP而不是运行它

如果在Linux REHL机器上安装Nginx php服务器。 当访问html文件一切顺利,但试图访问php文件,该文件被下载,而不是被执行。 这是我的nginx.conf: user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; } …这是服务器块: server […]