我正在尝试按照提供的说明在我的Windows开发服务器上使用XAMPP 安装Laconica,一个开源微博应用程序.
该网站找不到PEAR,并抛出以下错误:
警告:require_once(PEAR.php)[function.require-once]:无法打开流:第31行的C:\ xampplite\htdocs\laconica\lib\common.php中没有此类文件或目录
致命错误:require_once()[function.require]:在C:\ xampplite\htdocs\laconica\lib\common中打开所需的'PEAR.php'(include_path ='.;\xampplite\php\pear\PEAR')失败.第31行的PHP
C:\xampplite\php\pearphpinfo() 告诉我包含路径是 .;\xampplite\php\pear我究竟做错了什么?为什么不包含PEAR文件夹?
我最终尝试安装PEAR,因此我可以轻松安装PHPUnit.我想建立一个Mac,Apache,MySQL,PHP,PHPUnit开发环境,以便我可以在本地进行测试.我已经有Apach,MySQL和PHP工作了.现在我只需要PHPUnit,这意味着我需要PEAR来安装它.
我已经搜遍了所有,并且有关于如何在Mac OS X 10.5上安装PEAR的"教程"的一些变体.但是,我似乎无法让他们中的任何一个工作!有人有这个成功吗?我并不完全相信我已经设置了应有的一切,所以如果您可以包含"默认"Mac OS X 10.5包含路径,或者简单解释一切应该去哪里,我将不胜感激.
按照本教程,我执行以下操作:
curl http://pear.php.net/go-pear > go-pear.php
sudo php -q go-pear.php
Run Code Online (Sandbox Code Playgroud)
我按Enter键直到找到包含7个包含路径的列表:
1. Installation prefix ($prefix) : /Users/andrew
2. Temporary files directory : $prefix/temp
3. Binaries directory : $prefix/bin
4. PHP code directory ($php_dir) : $prefix/PEAR
5. Documentation base directory : $php_dir/docs
6. Data base directory : $php_dir/data
7. Tests base directory : $php_dir/tests
Run Code Online (Sandbox Code Playgroud)
我改变Installation prefix是/usr/local,按回车键继续,类型Y也安装PEAR_Frontend_Web-beta, PEAR_Frontend_Gtk2, MDB2.最终,一切都安装好了.
下一个...
在第一次尝试时,我认为include_path是从php.ini文件中注释掉的,但由于我已经更改了这一行,这不是我第一次尝试安装,我得到以下消息:
WARNING! The …Run Code Online (Sandbox Code Playgroud) 我正在使用Zend Framework,我使用了.htaccess一些设置.我现在正在编写用于调度的命令行脚本(例如cron).命令行脚本不查看该.htaccess文件,因为它们不是由Apache提供的.我想解析.htaccess我的脚本来检索一些设置.以下是我特别感兴趣的专栏:
SetEnv APPLICATION_ENV development
php_value date.timezone America/New_York
Run Code Online (Sandbox Code Playgroud)
我注意到了PEAR File_HtAccess包,但它似乎只解决了.htaccess文件的身份验证部分.
解决方案:(由于Bamieater的信用)
echo 调试输出的语句,从工作代码中删除.
$htaccess = file(realpath(dirname(__FILE__)) . '/.htaccess');
echo '<pre>';
foreach ($htaccess as $line) {
if (preg_match('/^\s*SetEnv\s+APPLICATION_ENV\s+(.*?)\s*$/', trim($line), $matches)) {
defined('APPLICATION_ENV') || define('APPLICATION_ENV', $matches[1]);
echo APPLICATION_ENV . PHP_EOL;
} elseif (preg_match('/^\s*php_(?:admin_)?value\s+date\.timezone\s+(.*?)\s*$/', $line, $matches)) {
date_default_timezone_set($matches[1]);
echo date_default_timezone_get() . PHP_EOL;
}
}
echo '</pre>';
Run Code Online (Sandbox Code Playgroud) 我升级到Mountain Lion并安装了php5.4,这需要一些调整Mountain Lion更改php位置
我的下一个问题是如果我跑pear -v或者pecl -v这些回归
Could not open input file: /usr/lib/php/pear/pearcmd.php
Could not open input file: /usr/lib/php/pear/peclcmd.php
Run Code Online (Sandbox Code Playgroud)
我是否需要更改pear和pecl以指向安装在/ usr/local/php5/bin /中的新php
如果是这样,我该如何做,我将丢失所有以前安装的扩展程序,如phpunit?
谢谢
我们使用phing来构建和测试我们的项目.我想尽可能地删除PEAR上的依赖项,这样我就可以为不同的项目运行不同版本的包.我创建了一个composer.json文件,它安装了所有必需的包
{
"require": {
"php": ">=5.3.3",
"zendframework/zendframework": "2.2.*",
"doctrine/doctrine-orm-module": "*",
"phpoption/phpoption": "*"
},
"require-dev": {
"phing/phing": "*",
"phpunit/phpunit": "*",
"pdepend/pdepend": "*",
"phpmd/phpmd": "*",
"phploc/phploc": "*",
"phpdocumentor/phpdocumentor": "*",
"squizlabs/php_codesniffer": "*",
"mayflower/php-codebrowser": "*",
"sebastian/phpcpd": "*",
"zendframework/zftool": "dev-master",
"zendframework/zend-form": "*",
"hounddog/doctrine-data-fixture-module": "*",
"pear/console_commandline": "dev-trunk",
"pear/log": "dev-master",
"pear/pear_exception": "dev-master"
},
"config": {
"bin-dir": "vendor/bin/"
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个phing build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="SolExactConnector" default="build">
<property name="basedir" value="." override="true"/>
<property name="source" value="${basedir}/module"/>
<fileset dir="${source}" id="sourceWithoutTests">
<include name="**/*.php"/>
<exclude name="*/test/"/>
<exclude name="*/Module.php"/>
<exclude name="*/config/module.config.php"/>
<exclude name="*/test/Bootstrap.php"/> …Run Code Online (Sandbox Code Playgroud) 所以我希望得到PHUnit,这样我就可以运行selenium服务器了,但是我已经意识到这可能永远不会发生在我身上.我已经尝试了很多不同版本的WAMP和XAMPP(我认为这不是我的问题)但我总是碰到一堵墙,其中有两种情况之一发生:
无法找到包,即:"没有可用于包的版本"pear.phpunit.de/File_Iterator"安装失败",我确实发现了所有正确的通道.
我完成了安装(另一种方式),最终出现了一个错误,例如"致命错误:在第60行的C:\ xampp\php\PEAR\PHPUnit\TextUI\TestRunner.php中找不到PHPUnit_Runner_BaseTestRunner" - 将'PHPUnit_Runner_BaseTestRunner'换成应该包含的任何其他文件.
令我难以置信的是因为缺乏一致性,不仅有PHPUnit而且还有梨.看起来我必须经历50个步骤,等待行星对准并在我的椅子上旋转十几次 - 顺时针......
抱歉咆哮 - 我的问题:
有没有一个简单,直接的教程来做这个,你们有成功吗?或者也许有一个tut + zip,我可以使用它来绕过pear安装并只是复制文件? - 因为似乎所有梨都在做.任何类型的服务器(Wamp,Xampp等)和版本都很好 - 我将执行全新安装,我不需要在该机器上运行任何其他东西,所以我想要的就是让它工作.
编辑:
所以我手动浏览了所有文件,并在需要它们的地方添加了require_once().然后我从http://pear.phpunit.de/下载了剩余的文件,并将它们放在所需的位置.没有错误!但现在当我运行'c:\ xampp\php> phpunit'时,没有任何反应!我只是得到另一个命令行 - 这也发生在我尝试运行类似'c:\ xampp\php> phpunit test1'之类的东西时,即使我不确定我需要存储test1.php文件的确切位置. ..
编辑2:
我很确定phpunit的.bat文件有问题,因为当我尝试运行任何命令(即:phpunit --help, - version等)没有任何反应时,我只是得到另一个命令行.我应该删除.bat文件和phpunit文件夹,然后重试?我还认为存在防火墙问题,因为我能够在不属于我公司域的不同机器上运行相同的命令.
所以我想做以下事情:
设置一个派生一串进程的守护进程.
因此,守护进程会分叉一堆进程,然后分叉另一堆进程
问题是子进程可能需要很长时间才能退出.如果父进程有其他工作要做,尽管要求孩子,我如何防止僵尸儿童?
父进程(守护进程)执行以下操作:
while(true)
{
SQL QUERY EXECUTED
while(mysql_fetch_array)
{
Fork children
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,如果父进程除了分支子进程以及子进程需要很长时间退出之外还必须执行其他工作,我该如何等待子进程退出.
我正在使用System守护程序PEAR函数来创建守护程序和创建进程的pcntl_fork函数.
我正在尝试使用此pecl命令为GraphicsMagick安装PHP API :
sudo pecl install channel://pecl.php.net/gmagick-1.0.10b1
Run Code Online (Sandbox Code Playgroud)
在安装过程中我被问到这个问题:
Please provide the prefix of GraphicsMagick installation [autodetect]
Run Code Online (Sandbox Code Playgroud)
我不知道如何回答这个问题,如果我按Enter键进行自动检测,则安装失败.
checking whether to enable the gmagick extension... yes, shared
checking GraphicsMagick configuration program... configure: error: not found. Please provide a path to GraphicsMagick-config program.
ERROR: `/tmp/pear/temp/gmagick/configure --with-gmagick' failed
Run Code Online (Sandbox Code Playgroud)
我正在使用ubuntu服务器,有谁知道如何安装这个程序?
注意:我已阅读有关此问题的所有问题
PEAR在我的系统上安装和配置(Ubuntu 11.10 + Apache/2.2.20).因为
<?php
require_once 'System.php';
var_dump(class_exists('System', false));
?>
Run Code Online (Sandbox Code Playgroud)
回来这个:
bool(true)
Run Code Online (Sandbox Code Playgroud)
当我试图使用phpunit我收到此错误.
PHP Warning: require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in /usr/bin/phpunit on line 38
PHP Fatal error: require_once(): Failed opening required 'PHP/CodeCoverage/Filter.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/bin/phpunit on line 38
Run Code Online (Sandbox Code Playgroud)
在此错误之后我决定安装它
sudo /usr/bin/pear install phpunit/PHP_CodeCoverage
Run Code Online (Sandbox Code Playgroud)
但我得到了
phpunit/PHP_CodeCoverage requires PEAR Installer (version >= 1.9.4), installed version is 1.9.2
Run Code Online (Sandbox Code Playgroud)
升级PEAR时出现此错误 sudo pear upgrade
PHP Fatal error: Call to undefined method PEAR_Registry::packageinfo() in /usr/share/php/PEAR/Dependency2.php …Run Code Online (Sandbox Code Playgroud) 我尝试安装包 from pear.phpqatools.org/phpqatools
首先命令pear config-get php_dir返回D:\Users\xampp\php\pear
,我没有权限在C驱动器上安装.
然后根据http://phpqatools.org/的说明 输入:
pear config-set auto_discover 1
pear install pear.phpqatools.org/phpqatools
Run Code Online (Sandbox Code Playgroud)
我也尝试进入:
pear install --alldeps pear.phpqatools.org/phpqatools
但所有这些尝试的结果都是失败的......
这是一个日志:
Package "pear.phpqatools.org/phpqatools" dependency "pear.phpunit.de/PHPUnit" has no releases
Unknown remote channel: pear.pdepend.org
Unknown remote channel: pear.phpmd.org
Unknown remote channel: components.ez.no
Package "pear.phpunit.de/PHPUnit_SkeletonGenerator" dependency "pear.phpunit.de/Text_Template" has
no releases
Package "pear.phpunit.de/phpcpd" dependency "pear.phpunit.de/File_Iterator" has no releases
Package "pear.phpunit.de/phpcpd" dependency "pear.phpunit.de/PHP_Timer" has no releases
Unknown remote channel: components.ez.no
Package "pear.phpunit.de/phploc" dependency "pear.phpunit.de/File_Iterator" has no …Run Code Online (Sandbox Code Playgroud)