Mehmet Ali Kandemir - Anasayfa
Mehmet Ali Kandemir Mehmet Ali Kandemir
“De ki: Hiç bilenlerle bilmeyenler bir olur mu?” Zümer sûresi , 9
×

PHP

Windows ta Plesk 12 php versiyonunu 7 ye güncellemek için

Windows ta Plesk 12 php versiyonu 7 ye güncellemek için aşağıdaki kodu pleskin kurulu olduğu dizinde komut satırı(cmd) olarak çalıştırın. ai.exe --select-release-current --install-component php70 Bu işlemi yaptıktan sonra alan yönetim paneline girerek istediğiniz alan adının php versiyonunu yüklseltebilirsiniz.
2016-10-21 11:15:40 devamı ...

Ubuntu Phpmyadmin üzerinden ip ye yetki verme

/etc/phpmyadmin/apache.conf içerisine aşağıdaki satırları varsa düzenleyin yoksa ekleyin Require ip 127.0.0.1 Require ip ::1 Require ip [buraya ip nizi ekleyin]
2017-03-20 12:48:40 devamı ...

Dinamik olarak PHP class ve metod çağırma

class HelloWorld { public function sayHelloTo($name) { return 'Hello ' . $name; } } $reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo'); echo $reflectionMethod->invoke(new HelloWorld(), 'Mike');
2017-05-18 14:14:00 devamı ...

Local sunucuda phpmyadmin çalışmıyor

Aşağıdaki dosyayı açın sudo nano /etc/apache2/apache2.conf Bu satırı ekleyin Include /etc/phpmyadmin/apache.conf ve apache sunucuyu yeniden başlatın sudo service apache2 restart
2017-11-01 13:12:37 devamı ...

phpmyadmin was not found on this server for Ubuntu 18.04, Ubuntu 15.04 veUbuntu 16.04

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin.conf sudo service apache2 reload
2018-09-27 11:42:04 devamı ...

phpmyadmin Parameter must be an array or an object that implements Countable

Dosyayı düzenle /usr/share/phpmyadmin/libraries/sql.lib.php: sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php Bu kodu aşağıdaki ile değiştir: count($analyzed_sql_results['select_expr'] == 1) ((count($analyzed_sql_results['select_expr']) == 1) Sunucuyu yeniden başlat sudo service apache2 restart
2018-09-27 12:03:33 devamı ...

virtual domain conf örneği

/etc/apache2/sites-available/orneksite.conf DocumentRoot "/home/orneksite/" DirectoryIndex index.php ServerAlias orneksite.com Options All AllowOverride All Require all granted
2018-10-26 19:23:43 devamı ...

max_input_vars Php Post Array size 1000 den büyükse

Post edilen arrayın boyutu 1000 den büyükse sayfanız bunu göndermeyebilir. Büyütmek için aşağıdaki ayarı artırmanız gerekir. /etc/php/7.2/apache2/php.ini max_input_vars

Eğer işe yaramaz ise

.htaccess dosyasına aşağıdaki satıraları ekleyebilirsiniz

php_value max_input_vars 10000

 

2018-12-07 20:10:04 devamı ...

tek bir tablo oluşturma Laravel php Migrate

php artisan migrate:refresh --path=/database/migrations/fileName.php
2019-05-21 15:27:32 devamı ...

Laravel .env ip değişikliği

bootstrap/cache/config.php dosyasını silin php artisan cache:clear çalıştırın
2019-11-27 14:55:13 devamı ...

Route Clear

php artisan route:clear
 

2020-11-25 17:19:36 devamı ...

Docker container üzerinde laravel job, crontab, cron çalıştırma

docker exec -t <container-name> php artisan schedule:run >> /var/log/<container-name>.log 2>&1

2021-08-31 17:00:39 devamı ...

laravel rabbitmq

composer require vladimir-yuldashev/laravel-queue-rabbitmq

docker run -d --hostname my-rabbit --name rabbitmq -p 8080:15672 -p 5672:5672 rabbitmq:3-management

queue.php

'rabbitmq' => [

    'driver' => 'rabbitmq',
    'queue' => env('RABBITMQ_QUEUE', 'statusOfBill'),
    'connection' => PhpAmqpLib\Connection\AMQPLazyConnection::class,

    'hosts' => [
        [
            'host' => env('RABBITMQ_HOST', '127.0.0.1'),
            'port' => env('RABBITMQ_PORT', 5672),
            'user' => env('RABBITMQ_USER', 'guest'),
            'password' => env('RABBITMQ_PASSWORD', 'guest'),
            'vhost' => env('RABBITMQ_VHOST', '/'),
        ],
    ],

    'options' => [
        'ssl_options' => [
            'cafile' => env('RABBITMQ_SSL_CAFILE', null),
            'local_cert' => env('RABBITMQ_SSL_LOCALCERT', null),
            'local_key' => env('RABBITMQ_SSL_LOCALKEY', null),
            'verify_peer' => env('RABBITMQ_SSL_VERIFY_PEER', true),
            'passphrase' => env('RABBITMQ_SSL_PASSPHRASE', null),
        ],
        'queue' => [
            'job' => VladimirYuldashev\LaravelQueueRabbitMQ\Queue\Jobs\RabbitMQJob::class,
        ],
    ],

    /*
     * Set to "horizon" if you wish to use Laravel Horizon.
     */
    'worker' => env('RABBITMQ_WORKER', 'default'),

],

 

.env 

QUEUE_CONNECTION=rabbitmq

 

publisher

php artisan make:job TestJob

class TestJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    private $data;
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct($data)
    {
        $this->data = $data;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {

    }
}

php artisan make:command FireEvent

class FireEvent extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'fire';


    public function handle()
    {
        TestJob::dispatch(MemorizedPage::find(1)->toArray());
    }
}

 

 

 

 

Consumer

php artisan make:job TestJob

class TestJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    private $data;
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct($data)
    {
        $this->data = $data;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        echo 'Event: UserCreated' . PHP_EOL;
        echo json_encode($this->data) . PHP_EOL;
        // TODO: Event User Created
    }
}

 

BankExtreJob::dispatch( $exception)->onConnection('rabbitmq')->onQueue('default');

EventServiceProvider.php
public function boot()
{
    \App::bindMethod(TestJob::class . '@handle', fn($job) => $job->handle());
}
2021-09-12 23:33:31 devamı ...

Docker üzerinde çalışan queue ları için aşağıdaki şekilde izleyebilirsiniz

docker exec -t <container_name> php artisan queue:work <connection_name>

docker exec -t <container_name> php artisan queue:work <connection_name> --queue=<queue_name>

2021-09-14 14:26:33 devamı ...

php curl hata yakalama

curl_setopt($curl, CURLOPT_FAILONERROR, true); //  bu ayarı açtığınız için curl_error($ch) metodunut tanımlanız gerekiyor
//...
curl_exec($curl);
if (curl_errno($curl)) {
    $error_msg = curl_error($curl);
}
curl_close($curl);

if (isset($error_msg)) {
    // TODO - Hatayı burada yönetebilirsiniz
}
2022-04-26 11:15:28 devamı ...