Run the below command to see the status of each module.
php bin/magento module:status
Run the below command to see the status of each module.
php bin/magento module:status
Here I am creating a customer using REST API
<?php $magentoURL = "http://127.0.0.1/mage2/"; $apiURL = $magentoURL."index.php/rest/V1/integration/admin/token"; $data = array("username" => "APIUSER", "password" => "APIUSERPWD"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); $customerData = [ 'customer' => [ "email" => 'Test.User'.time().'@phpcodez.com', "firstname" => "Brand", "lastname" => "Muscle", "storeId" => 1, "websiteId" => 1 ], "password" => "PHPCodez1&" ]; $ch = curl_init($magentoURL."index.php/rest/V1/customers"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($customerData)); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "Authorization: Bearer " . json_decode($token))); $result = curl_exec($ch); $result = json_decode($result, 1); echo '<pre>';print_r($result); ?>
Magento 2 API framework allows developers to create new services for communicating with Magento 2 stores.
Here I will use this Token based REST API to get all the customers from a Magento 2 store. So before each API call we should get the token from Magento and we should pass this token in the header of every request.
Also to achive this you need to create a new admin user with necessary access to the system.
<?php $magentoURL = "http://127.0.0.1/mage2/"; $apiURL = $magentoURL."index.php/rest/V1/integration/admin/token"; $data = array("username" => "APIUSER", "password" => "APIUSERWD"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); //decoding generated token and saving it in a variable $token= json_decode($token); //******************************************// //Using above token into header $headers = array("Authorization: Bearer ".$token); //API URL to get all Magento 2 modules $requestUrl =$magentoURL.'index.php/rest/V1/customers/search?searchCriteria[sortOrders][0][field]=email&searchCriteria[sortOrders][0][direction]=asc'; $ch = curl_init($requestUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); //decoding result $result= json_decode($result); //printing result echo "<pre>";print_r($result); ?>
To enable all cache types, Issue the following command
php bin/magento cache:enable
To disable all cache types, Issue the following command
php bin/magento cache:disable
Follow the below steps to override layout xml. Here I am creating a module ‘PHPCodez_Layout’ that will remove header and footer content from the active theme.
Declare Module
File : app/code/PHPCode/Layout/etc/module.xml Continue reading Magento 2 Override layout xml
Customers and admin are not able to login to magento 2 when memcached is enabled and to fix it increase the default value of innodb_buffer_pool_size in my.ini
I have faced the same issue when memcached was configured for Magento 2. The system was throwing the below error
Warning: ini_set(): Cannot find save handler ‘memcached’ in E:\xampp\htdocs\mage2\vendor\magento\framework\Session\SessionManager.php on line 570
In my case it was due to save_handler value was not udated in php.ini file.
So Make sure that save_handler is modified in php.ini file as well.
Please follow Configure Memcached Magento 2
Memcached is an open-source memory object caching system that web sites can use to help accelerate page load times. Memcached works by caching in RAM frequently accessed data, such as the results of API calls, database calls, and more.
Click here to undersatnd how to configure memcached in XAMPP – WIndows 10
To enable memcached for Magento 2, you need to change some settings in the env.php file. To do this, follow these steps:
1) Open the file app/etc/env.php
2) Locate the following section in the env.php file:
‘session’ =>
array (
‘save’ => ‘files’,
),
Modify this section as follows:
‘session’ =>
array (
‘save’ => ‘memcached’,
‘save_path’ => ‘127.0.0.1:11211’
),
3)Save your changes to the env.php file.
4) Edit the php ini.file
Seacch for the string in php.ini file ‘session.save_handler=files’ and update it to ‘session.save_handler=memcached’
Now memcached is enabled for you magento site
I have configured Memcached in XAMPP running onwindows 10. But the module was not appearing in phpinfo() data.
The system was throwing the following error.
PHP Warning: PHP Startup: Unable to load dynamic library ‘xampp\php\ext\php_memcache.dll’ – The specified module could not be found
The issue was due to the fact that the php_memcache.dll downloaded was not mathcing with the PHP version(7.1.14) that I have been using.
Later I downloaded the correct php_memcache.dll file from https://codeload.github.com/nono303/PHP7-memcache-dll/zip/master