Articles of PHP的

Apache mod_rewrite:在Windows机器上使用PHP脚本的RewriteMap指令

这一直使我疯狂。 我似乎无法得到的RewriteMap指令工作的Windows脚本的PHP脚本。 这里是我的httpd.conf文件的相关片段: <IfModule mod_rewrite.c> RewriteEngine on RewriteMap router "prg:C:/dev/web/www/routing.php" RewriteRule (.*) ${router:$1} </IfModule> 我简单的PHP脚本是这样读的: #!C:\Program Files\PHP5.3.2\php-win.exe <?php set_time_limit(0); # forever program! $keyboard = fopen("php://stdin","r"); while (1) { $line = trim(fgets($keyboard)); echo "/sandbox.php?url=$line"; echo "\n"; } ?> 当我尝试启动Apache时,在我的错误日志中得到以下行: [错误](OS 193)%1不是有效的Win32应用程序。 :mod_rewrite:无法启动RewriteMap程序C:/dev/web/www/routing.phpconfiguration失败 apache文档指的是“魔术cookies技巧”(在“外部重写程序”标题下),它应该是指向解释器的脚本的第一行。 这是我要错了,还是我需要调用RewriteMap指令不同呢?

PHP的梅勒 – 电子邮件不发送超过100 KB的附件

我正在使用PHPMailer库来发送电子邮件。 我上传了代码到不同的服务器,现在电子邮件不能用于超过100 KB的大小的附件。 这是给错误 “不能实例化邮件function”。 它适用于小于100 KB的附件。 似乎在服务器上可能会有一些大小限制。 如果是这种情况,那么在哪里检查? 我正在使用Windows服务器 ,以下是在PHP邮件设置 $mail = new PHPMailer(); $mail->isMail(); $mail->isHTML(true); $mail->Host = 'localhost'; $mail->SMTPAuth = false; $mail->AddAddress('whoto@otherdomain.com', 'John Doe'); $mail->SetFrom('donotreply@yourdomain.com', 'First Last'); $mail->Subject = 'PHPMailer Test Subject via mail(), advanced'; $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; $mail->MsgHTML(file_get_contents('contents.html')); $mail->AddAttachment('path/to/attachment'); // attachment $mail->Send(); […]

PHP is_file在Ubuntu上为Windows共享返回false(不正确)

Ubuntu服务器PHP 5.3通过Samba连接到Windows服务器共享。 我正在使用file_exists()检查Windows计算机上文件的可用性。 它返回false,虽然文件path确实存在。 同时,完全相同的文件path上的file_get_contents()工作正常。 我想知道如果这是一个权限问题,因为我在Windows共享上configuration文件的权限(它说我没有权限更改他们的权限)有问题。 当我通过Nautilus查看权限时,它说用户和组都是root用户,拥有755个权限。 我想将该组更改为www-data,但似乎无法做到这一点。

如何设置PHP的envvariables?

我正在使用WAMP。 我想从命令提示符使用PHP。 PATH envvariables中的条目是什么?

ImageMagick支持的格式没有任何价值

我已经安装下载并从链接http://imagemagick.org/script/binary-releases.php#windows安装ImageMagick-6.8.3-7-Q16-x86-dll.exe ,我正在使用Windows 7和PHP 5.3 0.8。 在安装时,它正确地安装在我的机器上, convert命令完美地工作。 在我的转换configuration什么显示在这里 : 但在我的phpinfo部分,我得到: ImageMagick支持的格式没有价值 我得到了像这样的所有图像magick值https://www.evernote.com/shard/s297/sh/12397c86-d016-4ca4-9415-fd541daeca39/2fc504bf5ddba5693efd3249402b2b5c 。 我不知道为什么它没有价值我已经安装了相同的ImageMagick-6.8.3-7-Q16-x86-dll.exe在我的32位windows7机器上的PHP 5.3.8。 php_imagick.dll我从其他网站downloded。 我不知道什么是我在安装imagemaagick的问题,如果是php_imagick.dll版本的问题可以任何人build议这个configuration适当的php_imagick版本?

setlocale(LC_ALL,'en_GB.UTF8')不能在windows上工作

为什么setlocale(LC_ALL, 'en_GB.UTF8'); 在Windows Server 2003 R2上返回false – Zend CE PHP 5.3.5? 有问题的函数: setlocale 。

在PHP中使用exec命令时可能会发生权限问题

我们有一个小型的办公室内部网,使用PHP(在apache服务器上 – 如此WAMP)构build,允许我们在文件服务器上创build项目文件夹。 这可以通过使用shell exec xcopy命令和下面的开关/e /k /i /c将一组模板文件夹复制到一个新的位置。 我们(相当)最近升级到运行Windows Server 2008 R2 Standard的新文件服务器。 现在,xcopy命令不再可以在PHP中使用。 但是,我知道xcopy命令是正确的,因为它工作,如果我复制并粘贴到命令提示符(在同一台计算机上)。 我可以看到没有错误消息,但我认为这是与PHP的“用户”相关的某种权限问题,但我不知道究竟是什么或如何解决它。 Apache服务器和文件服务器是两个独立的机器。 如果相关,apache服务器是一个32位的机器,文件服务器是一个64位的机器,但正如我所说,我可以从32位机器的CLI调用xcopy命令没有问题。 Apache进程的用户名是SYSTEM(尽pipe我似乎无法使用'whoami'命令来检查这个) 任何指针将不胜感激。 FWIW,execstring看起来像这样… echo "xcopy \"\\\\path\\to\\folder\\xxxx_Project\\*.*\" \"\\\\path\\to\\folder\\9876_NEWPROJECT\" /e /k /i /c"; (我认为)具体化为… xcopy "\\path\to\folder\xxxx_Project\*.*" "\\path\to\folder\9876_NEWPROJECT" /e /k /i /c 显然,'9876_NEWPROJECT位实际上是一个variables。

使用PHP和DOTNET类访问Windowsregistry

这是一个简单的问题:如何访问Windows的registry与PHP和DOTNET类? 我想要做的是读取另一个程序写的值。 谷歌search没有透露太多。 我很欣赏任何答案!

Memcached类未find – (php 5.4.9,windows 7)

我在我的Windows 7(64位机器)上安装了php-5.4.9(32位),并将其configuration为以php-fpm过程运行。 我需要memcached为我的web应用程序,因此安装memcached守护进程和必要的dll文件在我的PHP \ EXT文件夹。 但是当我尝试运行我的Web应用程序文件夹时,我总是得到类Memcached未find错误。 我试着谷歌search,也提到了一些计算器,但无法find解决我的问题。 有人能帮我理解我在做什么错吗?

当应用程序池使用“ApplicationPoolIdentity”时,IIS 8.5使用哪个用户帐户?

我正在使用运行IIS 8.5的新的Windows 2012 R2服务器。 为了testing目的,我在默认的wwwroot文件夹中安装了PHP和Joomla站点(C:\ inetpub \ wwwroot)。 现在,默认网站正在使用“默认网站”应用程序池,该应用程序池又使用“ApplicationPoolIdentity”标识。 Joomla网站加载没有问题,但是当它需要写入文件系统(即新的模块,对configuration文件的改变等)时,问题开始出现。 日志表明系统没有写入文件系统的权限。 我已经为不同的用户帐户,包括“IIS AppPool \默认网站”,“IUSR”和“IIS_IUSRS”组应用了各种不同的写入/修改/完整权限组合。 这些都没有解决这个问题。 但是,如果我已将完全访问wwwroot文件夹分配给“所有人”,则所有function都按预期工作。 现在,显然这是不太理想的,所以在这种情况下,用户帐户是IIS / PHP,我可以授予特定的NTFS权限,而不是打开文件系统到世界上? 谢谢!