please, add the extension on homestead, here the instructions: https://github.com/Microsoft/msphpsql#php-71
this is the oficial microsoft driver for sql server to ubuntu. and if we want use this driver, this must already be installed on homestead.
Thanks, Will look into it.
This will be in the next base box release: https://github.com/laravel/settler/releases/tag/v2.2.0
OK. thank you
Just created a new Homestead environment today. Should I be able to use the sqlsrv driver now? So far it's still giving me the "could not find driver" error. Is there something I need to do first with my Vagrant box...? Using PHP 7.2. Thanks.
@elramus No, we're not supporting the sqlsrv driver any longer: https://github.com/laravel/homestead/issues/719#issuecomment-344470607
Oh ok, thanks.
encontre esto y funciono php7.2:
#los drivers necesarios
#https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017
#para los drivers puntuales
#https://github.com/Microsoft/msphpsql/issues/81
#pecl search sqlsrv
#sudo pecl install sqlsrv-4.1.6.1
#sudo pecl install pdo_sqlsrv-4.1.6.1
#y para copiar de uno a otro
# cp 7.2/cli/conf.d/20-sqlsrv.ini 7.0/apache2/conf.d/20-sqlsrv.ini
# cp 7.2/cli/conf.d/20-pdo_sqlsrv.ini 7.0/apache2/conf.d/20-pdo_sqlsrv.ini
# cp /etc/php/7.2/cli/conf.d/20-sqlsrv.ini /etc/php/7.2/fpm/conf.d/20-sqlsrv.ini
# cp /etc/php/7.2/cli/conf.d/20-pdo_sqlsrv.ini /etc/php/7.2/fpm/conf.d/20-pdo_sqlsrv.ini
verifica que se registren los drivers en el php.ini, sugiero usar phpinfo() para ver este tema, ademas usar el locate para buscar donde se crearon los drivers. aun no se como ponerlo en las versiones viejitas de php, pero con paciencia lo logras instalar en el php7.2.
suerte
Here's what worked for me:
after.sh
#!/bin/sh
PHP_MSSQL_DRIVERS=Ubuntu18-7.2
# Download and extract phpmysql drivers
sudo wget "https://github.com/Microsoft/msphpsql/releases/download/v5.3.0/${PHP_MSSQL_DRIVERS}.tar" -O - | tar -x
# Change Directory
cd $PHP_MSSQL_DRIVERS
# Change owner/group
sudo chown root:root php_pdo_sqlsrv_72_nts.so
sudo chown root:root php_sqlsrv_72_nts.so
# Modify permissions
sudo chmod 644 php_pdo_sqlsrv_72_nts.so
sudo chmod 644 php_sqlsrv_72_nts.so
# Move files
sudo mv php_pdo_sqlsrv_72_nts.so /usr/lib/php/20170718
sudo mv php_sqlsrv_72_nts.so /usr/lib/php/20170718
# Cleanup
cd .. && sudo rm -rf $PHP_MSSQL_DRIVERS
# Create new .ini file
sudo touch /etc/php/7.2/mods-available/pdo_sqlsrv.ini
echo "extension=php_pdo_sqlsrv_72_nts.so" | sudo tee -a /etc/php/7.2/mods-available/pdo_sqlsrv.ini > /dev/null
# Create Symlinks
sudo ln -sfn /etc/php/7.2/mods-available/pdo_sqlsrv.ini /etc/php/7.2/cli/conf.d/20-pdo_sqlsrv.ini
sudo ln -sfn /etc/php/7.2/mods-available/pdo_sqlsrv.ini /etc/php/7.2/fpm/conf.d/20-pdo_sqlsrv.ini
# Enable PHP extension
echo "extension=php_sqlsrv_72_nts.so" | sudo tee -a /etc/php/7.2/cli/php.ini > /dev/null
echo "extension=php_sqlsrv_72_nts.so" | sudo tee -a /etc/php/7.2/fpm/php.ini > /dev/null
# Install Microsoft ODBC Driver 17 for SQL Server requirements
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo sh -c 'curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list'
# Update package lists
sudo apt-get update
# Install Microsoft ODBC Driver
yes Y | sudo ACCEPT_EULA=Y apt-get install msodbcsql17
# Restart services
sudo service php7.2-fpm restart
sudo service nginx restart
richvida Thanks
It's work for me.
I'm using laravel 5.7 with homestead and sql server azure database
Here's what worked for me:
after.sh
#!/bin/sh PHP_MSSQL_DRIVERS=Ubuntu18-7.2 # Download and extract phpmysql drivers sudo wget "https://github.com/Microsoft/msphpsql/releases/download/v5.3.0/${PHP_MSSQL_DRIVERS}.tar" -O - | tar -x # Change Directory cd $PHP_MSSQL_DRIVERS # Change owner/group sudo chown root:root php_pdo_sqlsrv_72_nts.so sudo chown root:root php_sqlsrv_72_nts.so # Modify permissions sudo chmod 644 php_pdo_sqlsrv_72_nts.so sudo chmod 644 php_sqlsrv_72_nts.so # Move files sudo mv php_pdo_sqlsrv_72_nts.so /usr/lib/php/20170718 sudo mv php_sqlsrv_72_nts.so /usr/lib/php/20170718 # Cleanup cd .. && sudo rm -rf $PHP_MSSQL_DRIVERS # Create new .ini file sudo touch /etc/php/7.2/mods-available/pdo_sqlsrv.ini echo "extension=php_pdo_sqlsrv_72_nts.so" | sudo tee -a /etc/php/7.2/mods-available/pdo_sqlsrv.ini > /dev/null # Create Symlinks sudo ln -sfn /etc/php/7.2/mods-available/pdo_sqlsrv.ini /etc/php/7.2/cli/conf.d/20-pdo_sqlsrv.ini sudo ln -sfn /etc/php/7.2/mods-available/pdo_sqlsrv.ini /etc/php/7.2/fpm/conf.d/20-pdo_sqlsrv.ini # Enable PHP extension echo "extension=php_sqlsrv_72_nts.so" | sudo tee -a /etc/php/7.2/cli/php.ini > /dev/null echo "extension=php_sqlsrv_72_nts.so" | sudo tee -a /etc/php/7.2/fpm/php.ini > /dev/null # Install Microsoft ODBC Driver 17 for SQL Server requirements curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - sudo sh -c 'curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list' # Update package lists sudo apt-get update # Install Microsoft ODBC Driver yes Y | sudo ACCEPT_EULA=Y apt-get install msodbcsql17 # Restart services sudo service php7.2-fpm restart sudo service nginx restart
richvida Thanks
It's work for me.
I'm using laravel 5.7 with homestead and sql server azure database
encontre esto y funciono php7.2:
para instalar mssql
los drivers necesarios
https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017
para los drivers puntuales
Microsoft/msphpsql#81
pecl search sqlsrv
sudo pecl install sqlsrv-4.1.6.1
sudo pecl install pdo_sqlsrv-4.1.6.1
#y para copiar de uno a otro # cp 7.2/cli/conf.d/20-sqlsrv.ini 7.0/apache2/conf.d/20-sqlsrv.ini # cp 7.2/cli/conf.d/20-pdo_sqlsrv.ini 7.0/apache2/conf.d/20-pdo_sqlsrv.ini # cp /etc/php/7.2/cli/conf.d/20-sqlsrv.ini /etc/php/7.2/fpm/conf.d/20-sqlsrv.ini # cp /etc/php/7.2/cli/conf.d/20-pdo_sqlsrv.ini /etc/php/7.2/fpm/conf.d/20-pdo_sqlsrv.iniverifica que se registren los drivers en el php.ini, sugiero usar phpinfo() para ver este tema, ademas usar el locate para buscar donde se crearon los drivers. aun no se como ponerlo en las versiones viejitas de php, pero con paciencia lo logras instalar en el php7.2.
suerte
Hola estoy tratando de hacer esto mismo pero con xampp en mi ubuntu y no logro conseguirlo, ya instale con la herramienta de pecl los 2 drivers, que tengo en la version
pdo_sqlsrv 5.6.0 stable
sqlsrv 5.6.0 stable
y en mi archivo php.ini e habilitado las lineas para que las extensiones se usen, asi:
extension=sqlsrv.so
extension=pdo_sqlsrv.so
pero en el phpinfo no me sale ese driver instalado, y tambien cada vez que hago un comando de php me sale estos errores
Warning: PHP Startup: Unable to load dynamic library 'sqlsrv.so' (tried: /opt/lampp/lib/php/extensions/no-debug-non-zts-20180731/sqlsrv.so (/opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /opt/lampp/lib/php/extensions/no-debug-non-zts-20180731/sqlsrv.so)), /opt/lampp/lib/php/extensions/no-debug-non-zts-20180731/sqlsrv.so.so (/opt/lampp/lib/php/extensions/no-debug-non-zts-20180731/sqlsrv.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlsrv.so' (tried: /opt/lampp/lib/php/extensions/no-debug-non-zts-20180731/pdo_sqlsrv.so (/opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /opt/lampp/lib/php/extensions/no-debug-non-zts-20180731/pdo_sqlsrv.so)), /opt/lampp/lib/php/extensions/no-debug-non-zts-20180731/pdo_sqlsrv.so.so (/opt/lampp/lib/php/extensions/no-debug-non-zts-20180731/pdo_sqlsrv.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
no comprendo lo que pasa o que debo hacer de mas, saludos
intenta esto, lo he usado en el Homestead
# vagrant box add laravel/homestead --box-version 6.4.0
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
Ubuntu 18.04
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install unixodbc-dev
pecl search sqlsrv
sudo apt-get install php7-dev
sudo pecl install sqlsrv-5.5.0preview
sudo pecl install pdo_sqlsrv-5.5.0preview
# hasat aca el sqlsrv y pdo_sqlsrv estan instalados
#para ver donde se debe escribir /usr/bin/php7.2 --ini
# ahora, donde debemos escribir el archivo de configuracion??
# depende donde el phpinfo del sitio indique.
# por lo general puede ser con el comando /usr/bin/php7.2 --ini
#sudo su
#echo extension=sqlsrv.so >/etc/php/7.2/cli/conf.d/20-sqlsrv.ini
#echo extension=pdo_sqlsrv.so >/etc/php/7.2/cli/conf.d/20-pdo_sqlsrv.ini
#apache2
#echo extension=sqlsrv.so >/etc/php/7.2/apache2/conf.d/20-sqlsrv.ini
#echo extension=pdo_sqlsrv.so >/etc/php/7.2/apache2/conf.d/20-pdo_sqlsrv.ini
#para el nginx 7.2
#echo extension=sqlsrv.so >/etc/php/7.2/fpm/conf.d/20-sqlsrv.ini
#echo extension=pdo_sqlsrv.so >/etc/php/7.2/fpm/conf.d/20-pdo_sqlsrv.ini
#/usr/bin/php7.2 -m
# reiniciar servidor
para ver el PHP info:
sudo -s
echo '<?php phpinfo();' > /opt/lampp/htdocs/info.php
como indica aca,
http://alexpereap.com/es/blog/como-instalar-xampp-en-ubuntu-1604
la idea es saber donde debe escribirse el archivo de configuracion del driver
echo extension=sqlsrv.so >/etc/php/7.2/apache2/conf.d/20-sqlsrv.ini
debes tener en cuenta que el driver no es como en windows un dll portable, en linux el comando de instalacion
sudo pecl install sqlsrv-5.5.0preview
sudo pecl install pdo_sqlsrv-5.5.0preview
copila para linux el driver cada vez.
segun indica en este post
https://github.com/Microsoft/msphpsql/issues/736
sugiere que desinstales y vuelvas a instalar.
para ver el PHP info:
sudo -s echo '<?php phpinfo();' > /opt/lampp/htdocs/info.phpcomo indica aca,
http://alexpereap.com/es/blog/como-instalar-xampp-en-ubuntu-1604
la idea es saber donde debe escribirse el archivo de configuracion del driverecho extension=sqlsrv.so >/etc/php/7.2/apache2/conf.d/20-sqlsrv.inidebes tener en cuenta que el driver no es como en windows un dll portable, en linux el comando de instalacion
sudo pecl install sqlsrv-5.5.0preview sudo pecl install pdo_sqlsrv-5.5.0previewcopila para linux el driver cada vez.
segun indica en este post
https://github.com/Microsoft/msphpsql/issues/736
sugiere que desinstales y vuelvas a instalar.
Ya pude instalarlo en mi ubuntu xampp, ac谩 tengo la gu铆a de como hice para que me funcionara
https://es.stackoverflow.com/a/240792/2770
para ver el PHP info:
sudo -s echo '<?php phpinfo();' > /opt/lampp/htdocs/info.phpcomo indica aca,
http://alexpereap.com/es/blog/como-instalar-xampp-en-ubuntu-1604
la idea es saber donde debe escribirse el archivo de configuracion del driverecho extension=sqlsrv.so >/etc/php/7.2/apache2/conf.d/20-sqlsrv.inidebes tener en cuenta que el driver no es como en windows un dll portable, en linux el comando de instalacion
sudo pecl install sqlsrv-5.5.0preview sudo pecl install pdo_sqlsrv-5.5.0previewcopila para linux el driver cada vez.
segun indica en este post
https://github.com/Microsoft/msphpsql/issues/736
sugiere que desinstales y vuelvas a instalar.
work well
Most helpful comment
Here's what worked for me:
after.sh