الحصول على PEAR للعمل على XAMPP (مكدس Apache/MySQL على نظام التشغيل Windows)

StackOverflow https://stackoverflow.com/questions/62658

  •  09-06-2019
  •  | 
  •  

سؤال

أحاول التثبيت لاكونيكا, ، تطبيق تدوين صغير مفتوح المصدر على خادم تطوير Windows الخاص بي باستخدام XAMPP وفقًا لـ التعليمات المقدمة.

لا يمكن لموقع الويب العثور على PEAR، ويعرض الأخطاء التالية:

تحذير:require_once(PEAR.php) [function.require-once]:فشل في فتح الدفق:لا يوجد مثل هذا الملف أو الدليل في C:\xampplite\htdocs\laconica\lib\common.php على السطر 31

خطأ فادح:require_once() [وظيفة.تتطلب]:فشل فتح المطلوب "PEAR.php" (include_path='.;\xampplite\php\pear\PEAR') في C:\xampplite\htdocs\laconica\lib\common.php على السطر 31

  1. يقع الكمثرى في C:\xampplite\php\pear
  2. phpinfo() يظهر لي أن مسار التضمين هو .;\xampplite\php\pear

ما الخطأ الذي افعله؟لماذا لا يتم تضمين مجلد PEAR؟

هل كانت مفيدة؟

المحلول

تحتاج إلى إصلاح الخاص بك include_path متغير النظام للإشارة إلى الموقع الصحيح.

لإصلاحه قم بتحرير php.ini ملف.ستجد في هذا الملف سطرًا يقول: "include_path = ...".(يمكنك معرفة موقع php.ini عن طريق تشغيل phpinfo() على الصفحة.) أصلح جزء السطر الذي يقول، "\xampplite\php\pear\PEAR" ليقرأ "C:\xampplite\php\pear".تأكد من ترك الفواصل المنقوطة قبل و/أو بعد السطر في مكانها.

أعد تشغيل PHP ويجب أن تكون جاهزًا للبدء.لإعادة تشغيل PHP في IIS، يمكنك إعادة تشغيل تجمع التطبيقات المخصص لموقعك، أو الأفضل من ذلك، إعادة تشغيل IIS معًا.

نصائح أخرى

إذا كنت تستخدم تثبيت XAMPP المحمول ونظام التشغيل Windows 7، ولديك الإصدار مثلي بعد إزالة غلاف XAMPP من لوحة التحكم، فلن تفيدك أي من الإجابات المقترحة هنا كثيرًا حيث لن يتم تثبيت الحزم.

المشكلة هي في ملف الكونفيجلقد وجدت الإعدادات الصحيحة بعد الكثير من التجارب والخطأ.

ما عليك سوى سحب نافذة الأوامر في الدليل \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

سوف ترغب في استبدال ':' بحرف محرك الأقراص الفعلي الذي يعمل عليه محرك الأقراص المحمول الخاص بك في الوقت الحالي.لسوء الحظ، يجب القيام بذلك في أي وقت يتغير فيه حرف محرك الأقراص هذا، ولكنه تم تثبيت الوحدة التي كنت بحاجة إليها.

لقد جربت جميع الإجابات الأخرى أولاً ولكن يبدو أن أياً منها لم يعمل لذا قمت بتعيين مسار الكمثرى بشكل ثابت في ملف تكوين الكمثرى

C:\xampp\php\pear\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";

لقد قمت بإعادة تشغيل أباتشي واستخدمت الأمر:

pear config-all 

تأكد من أن جميع المسارات لم تعد تبدأ بـ C:\php\pear

وفقًا للنقطة 1، فإن مسار PEAR الخاص بك هو c:\xampplite\php\pear\

ومع ذلك، فإن المسار الخاص بك يشير إلى \xampplite\php\pear\PEAR

وضع الاثنين فوق الآخر يمكنك أن ترى بوضوح أن أحدهما طويل جدًا:

ج:\xampplite\php\الكمثرى\

\xampplite\php\pear\PEAR

تم ضبط مسار التضمين الخاص بك على الانتقال بمقدار PEAR إلى عمق شجرة الكمثرى.يتضمن المجلد الفرعي PEAR للمجلد PEAR مكون PEAR.تحتاج إلى ضبط مسار التضمين الخاص بك لأعلى مستوى واحد.

(لست بحاجة إلى ج:بالمناسبة، طريقك جيد كما هو، ولكنه عميق جدًا)

حاول إضافة حرف محرك الأقراص:

include_path='.;c:\xampplite\php\pear\PEAR'

تحقق أيضًا من وجود PEAR.php بالفعل، وقد يكون في \php\ بدلاً من ذلك:

include_path='.;c:\xampplite\php'

مسكتك أخرى لهذا النوع من المشاكل:تجنب تشغيل الكمثرى داخل غلاف Unix (على سبيل المثال، Git Bash أو Cygwin) على جهاز يعمل بنظام Windows.واجهت نفس المشكلة ولم يساعد إصلاح المسار المقترح أعلاه.تم التبديل إلى Windows shell، ويعمل الأمر pear كما هو متوقع.

في نظام التشغيل Windows، استخدم قذيفة Xampp (يوجد زر "Shell" في لوحة تحكم XAMPP الخاصة بك)

ثم

cd php\pear

للانتقال إلى "C:\xampp\php\pear"

ثم اكتب

pear

لقد أصلحت

Avast يحذف الخادم الخاص بك

تحقق من ملف (server.php) الموجود في مجلد laravel الخاص بك

server.php

<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <taylor@laravel.com>
 */

$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';

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top