воскресенье, 30 декабря 2012 г.

Решение "Fatal error: Call to undefined method mysqli_stmt::get_result()"


После установки на сервер(Debian  squeeze, apache2, php, mysql) своего сайта с удивлением обнаружил, что скрипты отказываются работать, выдавая такую ошибку: "Fatal error: Call to undefined function mysqli_stmt_get_result()". Оказалось, что для работы mysqli_stmt_get_result() Нужен mysqlnd, хотя в той же убунте он идет с php по умолчанию(по крайней мере в самой свежей). Пришлось пересобирать.

Вот решение:

Сначала подключаем репозитории с www.dotdeb.org

nano /etc/apt/sources.list

Добавляем

deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all


Потом выполняем эти команды:

wget http://www.dotdeb.org/dotdeb.gpg

cat dotdeb.gpg | sudo apt-key add -

apt-get update

apt-get upgrade

apt-get install dpkg-dev

apt-get install php5-dev

cd /tmp

apt-get source php5

cd  /tmp/php5-5.3.20/ext/mysqlnd

mv config9.m4 config.m4

sed -ie "s{ext/mysqlnd/php_mysqlnd_config.h{config.h{" mysqlnd_portability.h

phpize

./configure

cd /tmp/php5-5.3.20/ext/mysql

phpize

./configure --with-mysql=mysqlnd

make && make install

cd /tmp/php5-5.3.20/ext/mysqli

phpize

./configure --with-mysqli=mysqlnd

make && make install



После этого у меня всё заработало =).

Установка apache, php, mysql на Ubuntu(Debian)

 Что то зачастил я на vds серваки поднимать, по этому вот такой не большой мануал. Все команды выполняются из под root.

Обычно, конечно на вдс апач уже установлен, но да ладно
Установка:
sudo apt-get install apache2

Запуск,остановка и перезапуск сервера
invoke-rc.d apache2 start  
invoke-rc.d apache2 stop
invoke-rc.d apache2 restart

Установка PHP
sudo apt-get install php5 libapache2-mod-php5

Установка MySQL
sudo apt-get install mysql-server

Не забываем включить mod_rewrite
sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
invoke-rc.d apache2 restart

Ну и phpmyadmin под конец
sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin

доступ http://mysite.com/phpmyadmin

среда, 26 декабря 2012 г.

Создание виртуальных хостов apache windows

Добавляем в

C:/WINDOWS/system32/drivers/etc/hosts

127.0.0.1    my_new_host.localhost

В apache\conf\httpd.conf

<VirtualHost *:80>
ServerAdmin webmaster@serv1.ru
ServerName my_new_host.localhost
DocumentRoot E:\web\my_new_host
ScriptAlias /cgi/ "E:\web\my_new_host"
</VirtualHost>

Затем перезагружаем апач и готово.

mysql Создание пользователя

Создание пользователя в mysql через командную строку(cmd) в windows
Предополагается что директория mysql\bin уже добавлена в переменную окружения PATH.

Заходим в mysql:

mysql -u root -p

Создаем пользователя:

create user 'my_user'@'localhost' identified by 'my_password';

Даём ему права на базу данных:

 grant all privileges on my_database.* to 'my_user'@'%';

mysql HeidiSQL

Нашёл шикарный бесплатный клиент для mysql, взамен внезапно оказавшемуся платным, навикату. HeidiSQL. Супер удобный, даже удобнее навиката. К тому же постоянно обновляется.