在更大努力的背景下,我遇到了一个令我困惑的特定问题。
在 Mac OS X 10.6.7 上,使用系统提供的 Apache 和 PHP,我创建了一个简单的HelloWorld.php脚本,毫不奇怪,它只是打印Hello, World!,没有别的。
如果我将它作为php helloworld.php.
但是,如果我:
sudo su
su _www php helloworld.php
Run Code Online (Sandbox Code Playgroud)
它什么也不发出; php几乎立即返回,没有执行的迹象。
我哪里出轨了(更重要的是,我应该收集哪些诊断信息来帮助推断问题)?
没有骰子。
bash-3.2$ls -alF foo.php
-rw-r--r-- 1 _www _www 37 Apr 4 21:08 foo.php
bash-3.2$ ls -dalF .
drwxr-xr-x 56 _www _www 1904 Apr 4 21:08 ./
bash-3.2$ whoami
bbum
bash-3.2$ php foo.php
Hello, World!
bash-3.2$ sudo sh
sh-3.2# php foo.php
Hello, World!
sh-3.2# su _www php foo.php
sh-3.2#
Run Code Online (Sandbox Code Playgroud)
如果我复制foo.php …
我已经创建了 CentOS 5.6 的全新安装,并使用php53-*CentOS 存储库中的软件包安装了 PHP 5.3 。具体来说,我有:
但是,我还需要为我的应用程序安装mcrypt和apc扩展。CentOS 有一个预先构建的php-mcrypt软件包,但没有等效的php53-mcrypt. APC 的安装需要pecl我通常会随php-pear包一起安装(对于 5.1),但同样似乎没有php53-pear包。
我如何构建这些?
编辑
看起来该php-pear包可以与 一起使用php53,所以我设法正确安装了 APC。我仍然有问题,mcrypt因为它不能通过 pecl 安装;它只是核心 PHP 构建的一部分。
我正在为我的 PHP Web 应用程序编写安装程序。它要求用户将一些文件和目录(config.php、缓存、上传、.htaccess)的权限更改为 777(以便它可写)。我在许多应用程序中看到安装程序要求用户将权限(对于 config.php 等)恢复到 644。
为什么如此重要?为什么我不能把它留在 777 上?我想这是某种安全问题,但如果我让这些文件可写,究竟会发生什么?
我们目前与一家运行 apache、php、mysql 等的公司有一台专用服务器。它目前安装了 whm/cpanel。我们正在迁移到带有 cpanel/whm 的新服务器。一切都顺利迁移,但现在我的一个站点在 .htaccess 文件中有一些 php_flag 和 php_value 行。当我访问这个新服务器上的站点时,我收到 500 个错误,这些错误读取无效命令“php_flag”,可能是拼写错误或由服务器配置中未包含的模块定义的。
我不确定我需要做什么才能使这些工作正常进行,因此我们将不胜感激。
我们最近将我们的站点迁移到了 varnish 后面的负载均衡的 apache 集群。从那时起,一小部分用户报告说他们无法查看任何页面。我已经把问题缩小了很多。这个问题在搬迁之前不存在,旧的基础设施是一个大盒子。
我们在 Rackspace Cloud 上运行 8 个 apache2 实例,在 varnish 3.0 后面使用 Rackspace Cloud 负载平衡器 (Zeus) 和 2 个 mysql 实例进行负载平衡,总共 10 个服务器,全部为 linux。
用户可以查看静态 html 文件。用户可以查看静态资产,例如图像。用户无法查看任何 php 文件,即使是一个只包含 phpinfo() 的简单文件;当负载均衡器从图片中取出时,用户无法查看任何 php 文件。
除了访问日志之外,apache 日志没有显示任何值得注意的内容。PHP错误报告设置为记录,不显示,虽然我设置为显示时间很短,但用户仍然得到一个没有错误的空白页面。Apache/Varnish/PHP 错误日志没有显示任何值得注意的内容。
服务器是:
部分配置截图:
并且有必要吗?我已经阅读了很多关于它的页面,但我一生都无法真正弄明白,这与 apache 和普通旧 php 已经做的事情相反。
所以,我正在尝试在我的 Dreamhost 帐户上使用Silex,但出现错误
Fatal error: Class 'Phar' not found in blah blah blah...
Run Code Online (Sandbox Code Playgroud)
当我尝试包含 Silex.phar 文件时。当我查看 phpinfo() 时,没有 Phar 部分,尽管我所看到的一切都声称 Phar 支持应该默认包含在 php 5.3.whatever 中,这就是我正在运行的内容。有任何想法吗?
我有一个带有 qmail 的 centOS 服务器,我想对其进行设置,以便每次发送电子邮件时,都会立即运行一个 php 脚本。我不需要将特定消息“转发”到 php 脚本,只需在 qmail 传递消息时触发它的执行。但是,如果我能让脚本至少知道哪个邮箱收到了消息,那就太好了(我会避免无用地检查我的脚本当前所做的所有邮箱)
目前,我通过每分钟通过 cronjob 运行我的 php 脚本来实现这一点,但我想避免在没有收到邮件时无用地运行脚本,并避免平均半分钟的延迟。
如何设置qmail在投递邮件后触发程序的执行?
有没有办法在另一个MediaWiki页面上包含Special:AllPages,即我想在主页的底部列出Special:AllPages。
我需要知道 VC 在 PHP 版本中代表什么:
VC9 x86 非线程安全 (2011-Nov-10 19:52:12)
php ×10
apache-2.2 ×3
centos ×1
chmod ×1
dreamhost ×1
email ×1
mac-osx ×1
mediawiki ×1
permissions ×1
php5 ×1
su ×1
suphp ×1
varnish ×1
web-server ×1