Where should the bridge be placed in the store?
Bridge, in default, must be placed in the root folder of the store. This is usually the folder that contains the store's configs.
Can the bridge be placed in the non-root folder?
Yes, it is possible, but you will need to specify the bridge_url and store_root parameters when adding a store. Bridge_url is the URL where the bridge is available, for example, https://example.com/some-folder/some-subfolder/bridge.php
Store_root is the absolute path to the root folder of the store on the server, for example: /var/www/html/example_store
Can bridge_url be specified without store_root?
Yes, but only if the folder containing the bridge is located in the root folder of the store.
How to check if the bridge is working?
The bridge file has to be available by the URL. It usually looks like https://example.com/bridge2cart/bridge.php and differs only in the domain name. The result should be a response
The bridge is not contained in the root folder, and when I follow the URL, it gives the error BRIDGE_ERROR_CONFIGURATION_NOT_FOUND, how to fix it?
This is normal, nothing needs to be fixed, just the bridge can't find the root folder. For this, store_root parameter is specified when adding a store.
The bridge is contained in the correct folder in the store, but when I try to follow the bridge via URL, a 404 error occurs.
Most likely the web server is configured in such a way as not to allow execution of scripts, except for those providing the store work, for example, index.php. To fix this, the store owner needs to make changes in the web server configuration. Specific changes are always different, as each server has different settings. Another solution is to try to move the bridge to some subfolder of the root directories, sometimes this works and the stores can be added with the bridge_url and store_root parameters.
When trying to follow to the bridge via the URL, a 403 error occurs.
Check your firewalls, try to whitelist our server.
Such a solution may be similar to the 404 error solution and requires changes to the web server configuration or selection of the directory from which the bridge will be available.
When I try to execute bridge.update method, an error “Error! Bridge is not writable” occurs.
This means that the Bridge file has incorrect permissions and PHP cannot overwrite the file. This can be solved by setting the correct Ownership and File-system access permissions. Usually, the file owner must be the user from under which the web server is running, for example, www-data. Also, you have to change the File-system permissions of your bridge file to 644. You can read about it here.
When I try to execute bridge.update method, an error “Error! Bridge directory is not writable” occurs.
The problem is similar to the one described above, only that you need to give access to the folder that contains the bridge. File-system access permissions 755 and set the correct owner.
When I try to add a store or execute a method, an error 105 "Empty response from bridge" occurs.
With a 90% probability, in this case a firewall can be turned on, which blocks requests to Bridge. Not all requests can be blocked, but only some, for example POST. In other cases, there may be a problem in the bridge or a very weak server that cannot process the request.
When I try to add a store or execute a method, I receive an error 105 "Store access denied or bridge not responding. Please, add this IP (xxx.xxx.xxx.xxx) into the white list".
This means that instead of the Bridge response, some kind of HTML came in, and in 99% of cases, this is a firewall response. Therefore it is necessary that the store owner whitelisted the IP of our server. In other cases, there may be a bug in the bridge.
When I try to add the store or execute a method, error 105 "Incorrect store key! Please update connection bridge at your store, URL: https://example.com" occurs.
You need to enter the correct store key in the config.php file that contains next to bridge.php, or download a new archive with Bridge, unpack and replace the entire folder.
You can download a bridge using the bridge.download.file method.