我正在尝试使用XAMPP按照Laconica在我的Windows开发服务器上安装instructions provided,这是一个开源微博应用程序。
该网站找不到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\pear
phpinfo()
告诉我,包含路径是.;\xampplite\php\pear
我究竟做错了什么?为什么不包含PEAR文件夹?
您需要修复include_path
系统变量以指向正确的位置。
要修复它,请编辑php.ini
文件。在该文件中,您将找到一行“include_path = ...
”。 (你可以通过在页面上运行phpinfo()
来找出php.ini的位置。)修复行“\xampplite\php\pear\PEAR
”的部分,以读取“C:\xampplite\php\pear
”。确保在生产线之前和/或之后留下分号。
重启PHP,你应该好好去。要在IIS中重新启动PHP,您可以重新启动分配给您站点的应用程序池,或者更好地重新启动IIS。
如果您正在使用便携式XAMPP安装和Windows 7,并且像我一样在从控制面板中删除XAMPP shell之后有版本,那么这里没有任何建议的答案对您有好处,因为软件包无法安装。
问题出在配置文件中。经过大量的试验和错误,我找到了正确的设置。
只需在\ xampp \ php目录中拉出一个命令窗口然后运行即可
pear config-set doc_dir :\xampp\php\docs\PEAR
pear config-set cfg_dir :\xampp\php\cfg
pear config-set data_dir :\xampp\php\data\PEAR
pear config-set test_dir :\xampp\php\tests
pear config-set www_dir :\xampp\php\www
您需要将':'替换为您的便携式驱动器当前运行的实际驱动器号。不幸的是,这需要在驱动器号发生变化的任何时候完成,但确实需要安装我需要的模块。
我首先尝试了所有其他答案,但它们似乎都没有工作,所以我在pear配置文件中静态设置了梨路径
C:\ XAMPP \ PHP \梨\ config.php文件
找到这段代码:
if (!defined('PEAR_INSTALL_DIR') || !PEAR_INSTALL_DIR) {
$PEAR_INSTALL_DIR = PHP_LIBDIR . DIRECTORY_SEPARATOR . 'pear';
}
else {
$PEAR_INSTALL_DIR = PEAR_INSTALL_DIR;
}
并将其替换为:
$PEAR_INSTALL_DIR = "C:\\xampp\\php\\pear";
我重新启动了apache并使用了命令:
pear config-all
确保所有路径不再以C:\ php \ pear开头
根据第1点,你的PEAR路径是c:\ xampplite \ php \ pear \
但是,您的路径指向\ xampplite \ php \ pear \ PEAR
将两者放在另一个之上你可以清楚地看到一个太长了:
C:\ Xampplite文件\ PHP \梨\
\ Xampplite文件\ PHP \梨\ PEAR
您的包含路径设置为将一个PEAR深入到梨树中。 pear文件夹的PEAR子文件夹包含PEAR组件。您需要将包含路径调整一级。
(你不需要c:顺便说一下,你的路径很好,太深了)
尝试添加驱动器号:
include_path='.;c:\xampplite\php\pear\PEAR'
还验证PEAR.php实际上是在那里,它可能在\ php \而不是:
include_path='.;c:\xampplite\php'
这种问题的另一个问题是:避免在Windows机器上运行Unix shell(例如,Git Bash或Cygwin)中的pear。我有同样的问题,上面建议的路径修复没有帮助。切换到Windows shell,pear命令按预期工作。
在Windows上使用Xampp shell(XAMPP控制面板中有一个“Shell”按钮)
然后
cd php\pear
去'C:\ xampp \ php \ pear'
然后键入
pear
我解决了
avast会删除目录中的server.php,因此请禁用防病毒软件
检查laravel文件夹中的(server.php)文件
server.php
<?php
/**
* Laravel - A PHP Framework For Web Artisans
*
* @package Laravel
* @author Taylor Otwell <[email protected]>
*/
$uri = urldecode(
parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
);
// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a Laravel
// application without having installed a "real" web server software here.
if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
return false;
}
require_once __DIR__.'/public/index.php';