اذهب إلى المحتوى

Amir Alsaeed

الأعضاء
  • المساهمات

    166
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو Amir Alsaeed

  1. استخدم Throttle Request في الكرنل kernel.php: 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class والمسار التابع لذلك هو مسار تسجيل الدخول للمستخدمين: Route::post('login', ['middleware' => 'throttle:3,1', 'uses' => 'Auth\LoginController@authenticate']); كيف يمكنني تخصيص رسالة الخطأ ThrottleRequest في لارافيل بدلاً من الرسالة الافتراضية 'TOO MANY REQUESTS.' ورمز الخطأ أيضاً 429.
  2. لدي سكريبت بايثون يقوم ببعض عمليات المعالجة على صورة ما وتوليد ألوان محددة ثم أريد أن أقوم بجلب الصورة من السكريبت إلى لارافيل ضمن المتحكم الخاص بذلك. قرأت عن استخدام process في لارافيل، لكن نجحت فقط باستدعاء السكريبت لم أتمكن من جلب الصورة أو محتوى السكريبت إلى لارافيل. public function newImage() { $process = new Process('python3 /docuemnts/shell.py'); $process->run(); } فكيف يمكنني جلب الصورة بعد إنشائها أو معالجتها ضمن بايثون إلى لارافيل؟
  3. أقوم باستخدام Mailgun لإرسال رسائل البريد الالكتروني في لارافيل ولا يوجد مشكلة في المتحكم الخاص بذلك، وقد قمت بإنشاء command خاص لإرسال الرسائل في أوقات معينة ولكن عند تشغيله يظهر لدي الخطأ التالي: cURL error 60: SSL certificate problem: unable to get local issuer certificate هذا هو الكود الخاص بالأمر: $reminders = Reminder::where('utcReminderDate' , '<=', \Carbon\Carbon::now()->format('Y-m-d H:i'))->get(); foreach($reminders as $reminder) { Mail::send('emails.test', [], function($message) { $message->to('me@example.com', 'Joe Bloggs'); $message->subject('A reminder for you'); }); } كيف يمكنني حل مشكلة cURL error 60 ؟
  4. أحاول إضافة مسارات التوجيه لدومين فرعي في لارافيل ولكن لا يتم التعرف على المجموعة. حاولت إضافة المسارات بهذا الشكل: Route::group(['domain' => 'admin.localhost'], function () { Route::get('/', function () { return view('welcome to admin'); }); }); ولكن عند زيارة admin.localhost يتم التوجيه مباشرةً إلى الدومين الأساسي بدلاً من عرض صفحات الدومين الفرعي. كيف يمكنني حل ذلك؟
  5. كيف يمكن الوصول إلى القيم الموجودة ضمن ملف .env في مشروع لارافيل؟ عند استخدام inertia لا يتم التعرف على قيم .env في مكونات vue. مثلاً: APP_NAME=ABC وفي الصفحة resources\js\Home.vue : <template> <div> <span class="tw-text-left">{{ appName }}</span> </div> </template> <script> export default { props: [ "appName", ] } </script> ولكن تظهر القيمة appName فارغة. ما الحل؟
  6. أحاول تضمين inertia في مشروع لارافيل ولكن بعد إضافة @inertia< ضمن الصفحة blade يظهر خطأ ولاتقوم الصفحة بالتحميل. قمت بتحميل inertia عن طريق هذا الأمر: composer require inertiajs/inertia-laravel والصفحة هي: <!DOCTYPE html> <html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- CSRF Token --> <meta name="csrf-token" content="{{ csrf_token() }}"> <!-- Scripts --> <script src="{{ asset('js/app.js') }}" defer></script> <link rel="icon" type="image/jpg" href="{{asset("/image/logo2.png")}}"> <!-- Fonts --> <link rel="dns-prefetch" href="//fonts.gstatic.com"> <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet"> <!-- Styles --> <link href="{{ asset('css/app.css') }}" rel="stylesheet"> </head> <body> @inertia </body> </html> والمتحكم الخاص بها: public function showLoginForm() { return Inertia::render('Auth/Login'); } ما المشكلة؟
  7. أستخدم نظام Ubuntu 14 وأحاول تحديث لارافيل من نسخة قديمة إلى إحدى النسخ 7 أو 8 ولكن بسبب ظهور العديد من رسائل الخطأ التي تتطلب أولاً تحديث composer وأثناء قراءة التوثيق الرسمي لاحظت وجود العبارة: Make sure to place the ~/.composer/vendor/bin directory in your PATH كيف يمكنني تغيير المسار الحالي أو التأكد من التحميل ضمن المسار المعطى؟
  8. عند استخدام websockets في لارافيل، أحاول إنشاء handlers خاصة بأحداث معيّنة، مثل عند إنشاء الاتصال مع المستخدم أو عند إرسال أي رسالة لأي مستخدم كالتالي: <?php namespace App\Events; use App\Models\User; use Illuminate\Broadcasting\Channel; use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Broadcasting\PresenceChannel; use Illuminate\Broadcasting\PrivateChannel; use Illuminate\Contracts\Broadcasting\ShouldBroadcast; use Illuminate\Queue\SerializesModels; class ServerCreated implements ShouldBroadcast { use SerializesModels; /** * The user that created the server. * * @var \App\Models\User */ public $user; /** * Create a new event instance. * * @param \App\Models\User $user * @return void */ public function __construct(User $user) { $this->user = $user; } /** * Get the channels the event should broadcast on. * * @return Channel|array */ public function broadcastOn() { return new PrivateChannel('user.'.$this->user->id); } } ولكن بدلاً من استخدام broadcastOn أو broadcastWith، هل هنالك طريقة عامة أكثر لجميع المستخدمين الذين يزورون صفحة محددة أو عندما يتم إنشاء اتصال محدد مشابه ل socket.io التابع onConnection؟
  9. بعد إنشاء مشروع جديد في Laravel Valet على الخادم، يظهر لدي الخطأ التالي: Unable to determine linked PHP حاولت حذف Valet وإعادة تحميله وأيضاً جميع اعتماديات ال PHP ثم قمت بتحميل PHP 7.1 من جديد ولكن عند تنفيذ الأمر valet install يعود ويظهر الخطأ: Homebrew PHP appears not to be linked ما حل هذه المشكلة؟
  10. لدي مصفوفة مكونة من 320 مصفوفة أخرى، عند استخدامي للتابع var_dump يتم طباعة جميع العناصر ال 320 مع كل العناصر الأبناء، ولكن عند استخدام التابع dd يتم إخفاء العناصر الأبناء بدءً من العنصر رقم 147 وبدون أي خيار لتوسيع العنصر ورؤية محتواه: 147 => array:17 [▼ "total_unconfirmed_subscribers" => 0 …16 ] 148 => array:17 [ …17] /--> لا يوجد خيار لتوسعة العنصر 149 => array:17 [ …17] حتى مع استخدام php artisan tinker أحصل على نفس النتيجة. هل التابع dd محدود فقط لطباعة 147 عنصر؟
  11. أقوم باستخدام Laravel Valet في بيئة التطوير لبناء المشروع، ولكن عند رفعه إلى السيرفر لا يمكنني رؤية رسائل الخطأ التي تحدث. والتي يجب أن تكون موجودة في المسار نفسه: ~/.valet/Log nginx-error.log كيف يمكنني إيجاد ملف إعدادات النظام php / nginx للارافيل valet، وماهي الإعدادات التي يجب تغييرها لطباعة رسائل الخطأ في المكان المناسب؟
  12. عند تنفيذي للاستعلام التالي في لارافيل: $load_id=explode("#@*",$answers->loading_id); $loading_data=DB::table('loading')->groupBy('answer_no')->whereIn('id',$load_id)->get(); يظهر الخطأ التالي: SQLSTATE[42000]: Syntax error or access violation: 1055 'sbrtpt.loading.id' isn't in GROUP BY (SQL: select * from loading where id in (14, 15, 16) group by answer_no)
  13. أحاول استخدام Mongodb مع لارافيل في lumen على تطبيق موزّع، وقمت بتعديل ملف database.php وإضافة الاتصال مع mongodb ولكن لا يتم التعرف على الاتصال نهائياً ضمن الكود. return [ 'default' => 'mysql', 'connections' => [ 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', ''), 'username' => env('DB_USERNAME', ''), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ], 'mongodb' => array( 'driver' => 'mongodb', 'host' => env('MONGODB_HOST', 'localhost'), 'port' => env('MONGODB_PORT', 27017), 'username' => env('MONGODB_USERNAME', ''), 'password' => env('MONGODB_PASSWORD', ''), 'database' => env('MONGODB_DATABASE', ''), 'options' => array( 'db' => env('MONGODB_AUTHDATABASE', '') ) ), ], ]; كيف يمكنني إضافة الاتصال مع mongodb وإنشاء مودل؟
  14. لقد قمت بتضمين مكتبة تيليسكوب في لارافيل وقمت بالتعديلات المطلوبة عليها، وتعمل بشكل صحيح على جهازي، ولكن لا أستطيع الوصول إلى لوحة التحكم على خادم الويب، مع أنني استخدم نفس الحساب على البيئتين. ويظهر الخطأ 403 Forbidden مباشرةً عند التوجه لمسار لوحة التحكم. ولكن عند تغيير القيمة إلى APP_ENV=local يعمل بشكل صحيح. ماهي المشكلة وهل يجب إبقاء القيمة إلى local حتى يعمل على خادم الويب؟ هذا ملف config/app.php: /* * Application Service Providers... */ App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\TelescopeServiceProvider::class, App\Providers\RouteServiceProvider::class, Laravel\Socialite\SocialiteServiceProvider::class,
  15. عند طلب المستخدم إعادة تعيين كلمة المرور يتم إرسال ايميل بالرابط المطلوب. ولكن بعد الضغط على الرابط يظهر خطأ بأن الصفحة غير موجودة. the object was not found because the URL is not existed مع أنني قمت بتعريف مسار جديد للاحتفاظ بقيمة ال token: Route::post('/forgot', [ 'uses' => 'RegisterController@recover', 'as' => 'password.reset' ]); Route::get('password/reset/{token?}', 'Auth\PasswordController@showResetForm'); وهذا هو المتحكم الخاص بالعملية: public function recover(Request $request) { $user = Admin::where('email', $request->email)->first(); if (!$user) { $error_message = "Your email address was not found."; return redirect()->back()->with(['errors' => $error_message]); } Password::sendResetLink($request->only('email'), function (Message $message) { $message->subject('Your Password Reset Link'); }); return redirect()->back()->with(['success' => 'A reset email has been sent! Please check your email.']); }
  16. أحاول استخدام لارافيل ضمن صورة في Docker، ولكن عند محاولتي لإنشاء الصورة من ملف docker أحصل على خطأ: The command '/bin/sh -c docker-php-ext-install pdo mbstring' returned a non-zero code: 1 ثم يظهر لدي: checking for oniguruma... no configure: error: Package requirements (oniguruma) were not met: وهذا هو ملف الدوكر: FROM php:7 RUN apt-get update -y && apt-get install -y openssl zip unzip git RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer RUN docker-php-ext-install pdo mbstring WORKDIR /app COPY app /app RUN composer install CMD php artisan serve --host=0.0.0.0 --port=8000 كيف يمكنني معالجة هذا الخطأ؟
  17. لقد قمت بتحميل مكتبة جديدة إلى مشروعي في لارافيل، ولكن عند تشغيل الأمر composer update يتوقف عن العمل ويظهر الخطأ التالي: Loading composer repositories with package information Updating dependencies (including require-dev) Killed لقد بحثت عن المشكلة واتضح أن لها علاقة بالذاكرة، ولكن لدي مساحة حوالي 400mb، فهل المشكلة في الرام أم في مكان آخر؟
  18. أحاول استخدام Vue JS في مشروع بلارافيل، ولكن عند قيامي بالأمر: $ npm run watch يظهر لدي الخطأ التالي: error in ./resources/assets/js/components/File.vue (Emitted value instead of an instance of Error) Vue template syntax error: Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead. @ ./resources/assets/js/components/AvatarUpload.vue 5:2-181 @ ./resources/assets/js/app.js @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss" وحتى عند عمل build لا يتم بناء المشروع. كيف يمكنني حل المشكلة؟
  19. عند استخدامي لل composer لتحميل مكتبات المشروع أو تنفيذ أي أوامر أخرى ضمن مسار المشروع في لارافيل يظهر لي هذا الخطأ: PHP Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar كيف يمكنني معالجته؟
  20. لدي user model و جدول خاص به، كيف يمكنني تخصيص صلاحيات لأنماط مختلفة من المستخدمين مثل user, admin, customer باستخدام Passport. فلدي التطبيق مبني باستخدام vue js وعند التحقق من المستخدم وتسجيل الدخول لا يتم منح الصلاحيات المحددة له. Passport::tokensCan([ 'user' => 'User', 'customer' => 'Customer', 'admin' => 'Admin', ]); وهل scopes في باسبورت مختلفة عن roles في لارافيل؟
  21. لدي مشروع سابق بإصدار لارافيل 5.4 على خادم ويب Ubuntu 16.04، وأحاول تحميل المكتبة cviebrock/eloquent-sluggable ولكن يظهر لدي الأخطاء التالية ولا يكتمل التحميل: Do not run Composer as root/super user! See https://getcomposer.org/root for details Using version ^4.2 for cviebrock/eloquent-sluggable ./composer.json has been updated - phpunit/php-code-coverage 4.0.7 requires ext-dom * -> the requested PHP extension dom is missing from your system. - phpunit/php-code-coverage 4.0.7 requires ext-dom * -> the requested PHP extension dom is missing from your system. - Installation request for phpunit/php-code-coverage (installed at 4.0.7) -> satisfiable by phpunit/php-code-coverage[4.0.7]. مع العلم بأن لدي إصادر PHP7، كيف أقوم بحل المشكلة؟
  22. لقد قمت بجدولة عمل في لارافيل ليتم تنفيذه كل مدّة معينة: <?php namespace App\Console; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { /** * The Artisan commands provided by your application. * * @var array */ protected $commands = [ \App\Console\Commands\MyCommand::class, ]; /** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { $schedule->command('MyCommand')->hourly(); $schedule->command('echo "Happy Coding!" ')->everyMinute(); } } ولكن سؤالي هو كيف يمكنني إجراء Unit Test على هذا الإجراء والتأكد من أن بعض الخصائص فيه تعمل بدون وجود مشاكل؟
  23. لقد قمت باستخدام انفوي على سيرفر خارجي، والآن أحاول إضافة Application class لإضافة اعتماديات جديدة على ملفات ال setup لها. ولكن يظهر لي هذا الخطأ الموجود في الصورة بشكل متكرر عند إضافة أي اعتمادية جديدة للمشروع. وبحسب التوثيق وباتباع الخطوات نفسها قمت بكتابة هذا الكود الخاص بالملف الرئيسي envoy.blade: @servers(['localhost' => '127.0.0.1']) @include('vendor/autoload.php') @setup $laravelApp = include 'bootstrap/app.php'; dump(config('database')); @endsetup @task('newtask', ['on' => 'localhost']) ls @endtask
  24. أقوم باختبار مشروع لارافيل على المتصفح باستخدام داسك، ولدي تأثير بسيط أثناء التنقل بين العناصر في الصفحة الواحدة scroll وأريد اختباره، ولكن لم أجد طريقة لجعل الاختبار يذهب إلى صفحة محددة ثم ينفّذ scroll عند الضغط على عنصر معيّن، والذهاب إلى الأسفل لعرض جزء آخر من الصفحة ورؤية تأثير الانتقال. حاولت بالكود التالي: class SliderTest extends DuskTestCase { /** * A Dusk test example. * * @return void */ public function testExample() { $this->browse(function ($browser) { $browser->visit('http://localhost:8000/home') ->click('label[for=test_1]') ->pause(500) ; }); } }
  25. لقد قمت بتهيئة السيرفر nginx، وتنصيب php و mysql ونقل مشروعي، ولكن عند إجراء أي عملية في قاعدة البيانات أحصل على خطأ: "PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 32 bytes) in /home/forge/sximo.sp-marketing.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 311 كيف يمكنني حل المشكلة؟
×
×
  • أضف...