[Docs]: sqlsrv with new arm64 (Apple M1/M2)
- Dominant language
- PHP
- Stars
- 4.5k
- Forks
- 652
- PR merge metrics
- No merged PRs in 30d
Description
### What is wrong in the documentation?
_No response_
### What is missing in the documentation?
Hello @cytopia ,
After updating my docker and my devilbox, I launched my new containers with PHP8.1 and put the script for the mssql obc driver put I've got an error when trying to connect to my database :
`Unsupported processor architecture`
After looking some issues on google, I find that the default script use debian 9 version and the amd64.deb version of msodbcsql.
With some updates on the script, it's now working !
Before launch this script, you have to check the debian version of your container (if you use debian, not alpine of course).
```shell
cat /etc/os-release
```
Example of my return :
```shell
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
```
And second point, check the version of which version of the driver you want (for me le last one for now).
Here the compete script :
```shell
#!/bin/bash
#
# This script will automatically install the Microsoft ODBC driver for MsSQL
# support for PHP during startup.
#
# In order for it to work, you must read and accept their License/EULA:
# https://odbceula.blob.core.windows.net/eula17/LICENSE172.TXT
#
# ------------------------------------------------------------------------------------------------
# EDIT THE VARIABLE BELOW TO ACCEPT THE EULA (If you agree to their terms)
# ------------------------------------------------------------------------------------------------
###
### Set this to "Y" (capital 'Y') if you accept the EULA.
###
ACCEPT_EULA=Y
# ------------------------------------------------------------------------------------------------
# DO NOT EDIT BELOW THIS LINE
# ------------------------------------------------------------------------------------------------
###
### Where to retrieve the deb package
###
MSODBC_URL="https://packages.microsoft.com/debian/11/prod/pool/main/m/msodbcsql18/"
###
### Pre-flight check
###
if [ "${#}" = "1" ]; then
if [ "${1}" = "ACCEPT_EULA=1" ]; then
ACCEPT_EULA=Y
fi
fi
if [ "${ACCEPT_EULA}" != "Y" ]; then
echo "MS ODBC EULA not accepted. Aborting installation."
exit 0
fi
###
### EULA accepted, so we can proceed
###
# Extract latest *.deb packate
MSODBC_DEB="$( curl -k -sS "${MSODBC_URL}" | grep -Eo 'msodbcsql[-._0-9]+?_arm64\.deb' | tail -1 )"
# Download to temporary location
curl -k -sS "${MSODBC_URL}${MSODBC_DEB}" > "/tmp/${MSODBC_DEB}"
# Install
ACCEPT_EULA="${ACCEPT_EULA}" dpkg -i "/tmp/${MSODBC_DEB}"
# Remove artifacts
rm -f "/tmp/${MSODBC_DEB}"
```
If that can help someone ;)
### Are you willing to provide a PR to address this?
None
Contributor guide
Assessment
This issue has not been assessed yet.