آموزشی که در حال مطالعه آن هستید یکی از شایع ترین خطاها در کلیه سیستمهای مدیریت محتوا و یا زبانهای برنامه نویسی میتوان نام برد. این خطا به سیستم و نرم افزار و سیستم عاملی بستگی ندارد و میتوان یک خطای عمومی در تمامی بسترهای نرم افزاری تحت وب به شمار آورد. این مشکل خطای SoapClient یا سوپ نام دارد.
خطای عدم یافتن کلاس های سوپ یا SoapClient یکی از خطاهایی است که به علت عدم اجرا فرامین افزونه یا کدی ست که در سایت شما وجود داره و در حال اتصال به یک وب سرویس می باشد. این خطا دقیقا به این نکته اشاره میکند که بروی وب سرور شما خواه لوکال هاست و شبکه محلی بروی Xampp و Wampp و… میتواند باشد و خواه بروی سرور و هاست واقعی توابع مربوط به Soap بروی آن فعال نیست و یا در حالت اجرا قرار ندارد. به همین علت در افزونه و کدی که نیاز به اتصال و ارسال اطلاعات به وب سرویس وجود دارد با خطای زیر مواجه خواهیم شد.
[quote]
مطالعه کنید: آموزش نصب جوملا در لوکال هاست Xampp
[/quote]
حالات نمایش خطا:
Oops 404 Page !
نمونه دوم:
1 |
Fatal error: Class 'SoapClient' not found in C:\Program Files (x86)\EasyPHP-5.3.9\www\server.php on line 2 |
نمونه سوم:
1 |
Fatal error: Class 'SoapClient' not found in /home/user/mysite.com/path/to/file.php on line 16 |
[quote]
پیشنهاد میکنیم: آموزش نصب پلاگین IonCube بروی لوکال هاست Xampp
[/quote]
راه حل:
برای رفع این خطا اگر بروی هاست واقعی کار میکنید ؛ طبیعی ست که دسترسی ای برای شما وجود ندارد و صرفاً میبایست خطای بوجود آمده را به مدیر هاستینگ خود گزارش کنید و از آنها بخواهید که این تابع را بروی سرورتان فعال کنند.
اگر از شبیه سازهای لوکال هاست استفاده میکنید. فقط کافی فایل php.ini را از طریق مسیر زیر باز کنید.
C:/xampp/php/php.ini
پس از بازکردن فایل php.ini دنبال عبارت extension=php_soap.dll بگردید. در جاییکه آنرا پیدا کردید با کدهایی مشابه کدهای زیر مواجه خواهید شد.
1 |
;extension=php_soap.dll |
همانطور که در کدهای بالا مشخص است این تابع در حالت کامنت و غیرفعال قرار دارد برای اینکه این تابع را بروی نرم افزار Xampp خود فعال کنیم فقط کافی است که سمیکالن – ; – را از ابتدای کد برداریم و بصورت زیر دربیاوریم.
1 |
extension=php_soap.dll |
پس از انجام این کار فایل php.ini را ذخیره میکنیم. سپس اگر نرم افزار زمپ ما در حالت اجرا بوده است آن را بطور کامل میبندیم (یعنی Apache و MySQL را از حالت Start به حالت Stop تبدیل میکنیم) همچنین برای اطمینان بیشتر میتوانید کامپیوتر خود را یک بار Restart کنید. سپس این نرم افزار را Run کنید .
مطمئناً دیگر این مسئله را مشاهده نخواهید کرد.
در صورت وجود هرگونه سوال میتوانید مسائل خود را در ادامه همین مقاله مطرح فرمایید.
سلام دوستان من به همین ارور مزخرف برخوردم دوروزه روی لوکال هاست دنبال لاین extension=php_soap.dll میگردم ک نمیدونم بگم خوشبختانه یا متاسفانه وجود نداشت تو فایل php.ini اومدم دستی نوشتمش هرچی مربوط به soap بود و…. رو همه رو برداشتم فعال کردم ولی این مشکلم حل نشد ک نشد چیکارش کنم؟
با سلام خدمت شما دوست گرامی
تنها راه حلی که در انجمن های مطرح دنیا برای این موضوع مظرح شده مواردی بود که در آموزش به آن اشاره شد. به شخصه این مسئله را بروی چندین نسخه و سیستم مختلف تست کرده ام و نتیجه درست و مورد نظر را دریافت کردم. اصلا نیازی به اصلاح سایر کد ها نیست فقط خط مورد را به شکلی که گفته شد اصلاح کنید. و سیستم و نرم افزار مجازی ساز خود را میبایست که حتما(حتما…حتما…حتما) Restart کرده و مجدد باز کنید.
اگر هم اصلاح نشد میتوانید فایل php.ini خام و اولیه را همینجا ارسال کنید تا اصلاحات لازم بروی آن صورت بگیرد و نسخه بهینه برای شما ارسال شود.
با تشکر از حُسن انتخاب شما