标签: php

在 AWS ECS 中运行 cronjob 的最佳方式是什么?

我有一个由 Laravel 提供支持的 Web 应用程序,该应用程序设置在 AWS ECS 上。我需要将 artisan 命令作为 cronjob 运行。

我正在查看 ECS 集群配置中的“计划任务”。我可以按照 AWS 上的“计划任务 (Cron) ”文档启动新任务。我在目标中使用 Laravel 的任务定义,我将其用于 Web 服务,它有两个任务。

  1. 不知道如何调用 artisan 命令
  2. 计划任务似乎永远运行

任何帮助将不胜感激。谢谢。

php scheduled-task cron amazon-web-services amazon-ecs

5
推荐指数
1
解决办法
6698
查看次数

如何在 IIS 6 中免费重写 url (ala mod_rewrite)?

我有一个我为灯堆栈编写的应用程序(使用 cakephp),我正在将它移动到 Windows 服务器。我在使用 apache for windows(内存和 cpu 问题)时遇到了很多麻烦,所以我想使用 IIS v6 的现有安装,但它似乎缺乏任何 url 重写能力。我找到了昂贵的插件 (isapi),但我对 IIS 或它周围的程序知之甚少,不知道是否有任何好主意。

什么有效并且与希望免费的 mod_rewrite 规则简单或兼容?

windows iis php iis-6

4
推荐指数
1
解决办法
5886
查看次数

Nginx 可以处理别名内的 php(或类似的 fcgi)请求吗?

我正在将旧的 Apache 服务器转换为 Nginx,并且没有更改 URL 或重新排列文件系统的奢侈。

是否可以在 Nginx 配置中使用嵌套的 location{} 块来告诉它在正常提供静态内容的同时将别名目录中的 .php 文件提供给 fastcgi?

与我失败的类似配置:

server {
  listen 80;

  location / {
    index  index.html;
  }

  location /foosite/ {
    alias  /var/aliases/foo;
    location ~ \.php$ {
      include fastcgi_params;
      fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

对 /foosite/static.jpg 的请求可以很好地提供服务,但是 nginx 在尝试将它们分派到 fastcgi 时似乎会混淆任何 .php 文件的路径。

php nginx fastcgi

4
推荐指数
1
解决办法
9939
查看次数

如何为 phpize 设置 PHP Api 版本

我正在我的服务器上升级 php,但我遇到了 phpize 和编译外部模块的问题。phpize -v 报告:

Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20090115
Zend Extension Api No:   220090115
Run Code Online (Sandbox Code Playgroud)

但是在我的测试服务器(我正在尝试复制)上,我得到了这个:

Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
Run Code Online (Sandbox Code Playgroud)

我正在运行 debian 挤压,从实验存储库中提取 php 5.3.0-2 包。两台服务器的区别在于,第一台服务器上安装了旧版本的php,而测试服务器从一开始就安装了php 5.3.0-2。

我已经尝试从第一台服务器卸载所有 PHP 包(使用 --purge 删除所有配置文件)并重新安装 5.3,但我仍然遇到同样的问题。帮助!

php debian

4
推荐指数
1
解决办法
1万
查看次数

在 Nginx 配置中为 fastcgi_buffers 设置值的任何指南?

我刚刚将我们的博客网络移至由 WPMU 提供支持的 ngnix(来自 apache)。一切都在顺利进行。

在我寻求将服务器优化到最大级别的过程中 - 我在 nginx 论坛http://forum.nginx.org/read.php?2,2649上遇到了这个线程

我真的很想知道:回答原来的问题......

例如,为防止在提供 6144 KB 文件时出现警告,三种方法中哪一种会产生最佳性能?

  1. 大量小缓冲区:fastcgi_buffers 768 8k
  2. 少量大缓冲区:fastcgi_buffers 8 768k
  3. 缓冲区和大小之间的接近平衡:fastcgi_buffers 64 96k

还有一件事:在我的 ngnix.config - 我的设置是:

fastcgi_buffers 64 4k;

即 256K 缓冲区大小(我在 32 位平台上)。这是否意味着如果我的 PHP 脚本生成的响应大于 256K,nginx 会抛出一些错误?

我知道 ngnix 论坛似乎是问这个问题的更好的地方,但由于没有哪个 ngnix 论坛比 serverfault 更活跃,我在这里发布这个问题。

我希望我能从这里的专家那里得到一些意见/指导。

谢谢,

-拉胡尔

php optimization configuration nginx fastcgi

4
推荐指数
1
解决办法
9520
查看次数

以 777 权限注入 PHP 文件中的代码

我醒来发现我的共享网络主机中具有 777 权限的所有文件夹都有两个新的 php 文件。无法读取文件中的代码 - 这是解码版本:http : //pastie.org/779226(这是什么......?)该代码甚至被注入到一些 PHP 文件中。

我不知道有人会怎么做?我知道拥有 777 权限并不是最聪明的事情,但是他们最初是如何进入我的文件夹系统的。

我只是一个客户端程序员,如果我有一些关于如何防止将来发生这种情况的建议,那就太好了。

干杯。

security linux php hacking

4
推荐指数
1
解决办法
5435
查看次数

如何一次性更新 FreeBSD 上的 PHP 及其所有模块?

基本上,我通常会做这样的事情:

# portsnap fetch
# portsnap update

# portmaster -L | grep -B1 "New version"
    ===>>> php5-5.2.11
    ===>>> New version available: php5-5.2.12
# portmaster php5-5.2.11
Run Code Online (Sandbox Code Playgroud)

但是对于 PHP,我有大约 40 个模块,并且必须一个接一个。有没有更好(和安全)的方法来做到这一点?

编辑:好吧,事实证明这是所需要的:

# portmaster php5-extensions
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,这是多么困难的发现!

freebsd php update

4
推荐指数
1
解决办法
2万
查看次数

什么 chmod 和 owner:group 设置最适合 Web 应用程序?

我们正在 CentOS 上配置一个 PHP Web 应用程序,并且我们所有的文件当前都在 /var/www/html/project/

Apache 被配置为作为 apache:apache 运行并且可以访问上面的目录。现在我们的文件和目录具有以下权限:

所有者 = 根组 = apache

目录:drwxr-x---root apache

文件:-rw-r-----root apache

这是一个安全的设置吗?还是使用新用户(例如“项目”)成为所有文件和目录的所有者会更好吗?

security php chmod chown apache-2.2

4
推荐指数
1
解决办法
9984
查看次数

如何在 Windows 操作系统中更改 Apache 服务器的端口号

当我输入http://localhost/时,我已经在 Windows XP 上安装了 xampp 控制面板和 Apache 2.2给了我说它有效的页面!

现在,我想将端口号 80 更改为其他数字

怎么改?需要更改多少个文件?是否需要重启系统才能生效?

注意:我已经更改了端口号 C:\xampp\apache\conf\httpd.conf

在它说的两个地方

Listen 80

和

ServerName localhost:80

请帮忙,谢谢。

windows php windows-xp xampp apache-2.2

4
推荐指数
2
解决办法
8万
查看次数

带有重音字母的路径中的 Apache + PHP

如果 DOCUMENT_ROOT 的路径包含重音字母,我将无法在 Windows XP 上的 Apache 下运行支持 PHP 的网站。我不是指脚本文件名本身,而是指路径组件中的任何文件夹。

我有这个虚拟主机定义:

<VirtualHost *:80>
 ServerName foo.local
 DocumentRoot "E:/gonzález/sites/foo"

 ErrorLog logs/foo.local-error.log
 CustomLog logs/foo.local-access.log combined

 <Directory "E:/gonzález/sites/foo">
  AllowOverride All
  Options Indexes FollowSymLinks

  Order allow,deny
  Allow from all
 </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
  • 如果我将文件保存在 ANSI 中,则会出现语法错误:DocumentRoot must be a directory
  • 如果我以 Unicode 保存文件,我会收到另一个语法错误:无效命令 '\xff\xfe#',可能拼写错误或由服务器配置中未包含的模块定义(看起来它在抱怨 BOM)
  • 如果我将文件保存在无 BOM 的 UTF-8 Apache 中,它可以正常工作并且它提供静态文件而没有明显问题......

...然而,加载任何 *.php 文件(甚至是空文件)时,PHP 会抱怨:

Warning:  Unknown: failed to open stream: No such file or directory in Unknown on line 0
Fatal error:  Unknown: …
Run Code Online (Sandbox Code Playgroud)

windows php php5 apache-2.2

4
推荐指数
1
解决办法
2472
查看次数