Язык программирования PHP
Настройка
FreeBSD
[server:~] # cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
[server:~] # cat /usr/local/etc/php.ini
...
date.timezone = Europe/Moscow
...
Windows
C:\>notepad++ C:\xampp\php\php.ini
или
C:\>notepad++ C:\WINDOWS\php.ini
...
; extension_dir = "c:\php\ext"
; extension_dir = "c:\xampp\php\ext"
...
extension=php_sockets.dll
...
extension=php_mysql.dll
...
date.timezone = Europe/Moscow
...
Проверка конфигурации
Список подключенных модулей
Примеры скриптов
Использование phpinfo
server# cat test.php
<h1>Example PHP</h1>
<?php
echo "Hi, I'm a PHP script!";
phpinfo();
?>
Обработка полей формы и вызов внешних программ
# cat /var/www/html/asterisk/call.php
<html>
<body>
<h1>Waiting call on phone</h1>
<?php
$clientphone=$_GET['phone'];
${clientphone}=preg_replace('/[^0-9]/', '', $clientphone);
echo "${clientphone}<br>";
#### Реализация функции "обратный звонок" для посетителей Вашего сайта
#### Вариант для RINGGROUP, сначала "снимает трубку" сотрудник, затем идет звонок клиенту.
#### Для IVR и QUEUE сначала звоним клиенту.
system ("/usr/bin/sudo /usr/sbin/asterisk -x \"channel originate Local/voip1_00000X@default extension ${clientphone}@default\"");
?>
</body>
</html>
Модуль php mysql
Debian/Ubuntu
# apt install php-mysql
# service apache2 restart
FreeBSD
# pkg install php56-mysql
# service apache24 restart
Тестирование
# cat /WWWDIR/testmysql.php
PHP 7
<?php
$mysqli = new mysqli('localhost', 'root', '12345678', 'mysql');
if ($mysqli->connect_errno) {
echo "Can't connect to mysqld (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
echo 'Connected successfully';
$res = $mysqli->query("SELECT * FROM user");
echo "<table>\n";
while ($line = $res->fetch_assoc()) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
?>
До PHP 7
<?php
$link = mysql_connect('localhost', 'root', '') or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('mysql') or die('Could not select database');
$query = 'SELECT * FROM user';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
mysql_free_result($result);
mysql_close($link);
?>