php 学习第一天

79 阅读1分钟

php 环境配置

brew install php
php --version//测试安装是否成功
php -S localhost:8888//把当前目录作为 php 解释器路径 index.php 是默认文件
brew pin php//锁定 php 版本
vim /opt/homebrew/etc/php/8.4/php.ini//修改 php 配置文件 

apache环境配置

brew install httpd

httpd -v//测试安装是否成功


DocumentRoot is /opt/homebrew/var/www.
The default ports have been set in /opt/homebrew/etc/httpd/httpd.conf to 8080 and in /opt/homebrew/etc/httpd/extra/httpd-ssl.conf to 8443 so that httpd can run without sudo.
To start httpd now and restart at login:

  brew services start httpd

安装 mysql


brew install mysql

We've installed your MySQL database without a root password. To secure it run:

    mysql_secure_installation

  


MySQL is configured to only allow connections from localhost by default

  


To connect run:

    mysql -u root

  


To start mysql now and restart at login:

  brew services start mysql
  
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';//修改 root 密码

集成 php 到 apache 中

vim /opt/homebrew/etc/httpd/httpd.conf

To enable PHP in Apache add the following to httpd.conf and restart Apache:

    LoadModule php_module /opt/homebrew/opt/php/lib/httpd/modules/libphp.so

  


    <FilesMatch \.php$>

        SetHandler application/x-httpd-php

    </FilesMatch>

  


Finally, check DirectoryIndex includes index.php

    DirectoryIndex index.php index.html

重启 php,apache

brew services restart php
brew services restart httpd

安装 composer

brew install composer

安装 phpmyadmin

To enable phpMyAdmin in Apache, add the following to httpd.conf and

restart Apache:

    Alias /phpmyadmin /opt/homebrew/share/phpmyadmin

    <Directory /opt/homebrew/share/phpmyadmin/>

        Options Indexes FollowSymLinks MultiViews

        AllowOverride All

        <IfModule mod_authz_core.c>

            Require all granted

        </IfModule>

        <IfModule !mod_authz_core.c>

            Order allow,deny

            Allow from all

        </IfModule>

    </Directory>

解决 phpmyadmin 报错

I have PHP 8.4.6 + phpMyAdmin 5.2.2 on Windows.  
The easiest solution to the problem is:

1.  Go to the directory with phpMyAdmin
1.  Run the command `composer update --no-dev`

That's it.

语法学习

echo 'hello'.'world';//拼接字符串
echo "\n";//必须是双引号才能解析换行符
echo 'Trump\'s white house';
$a = 'eric';
echo 'hello $a';//单引号不会解析变量
echo "hello $a";//必须是双引号才能解析变量
echo "\n";
echo "hello {$a}";//双引号解析变量时可以使用花括号
//引用变量
<?php 
$a = 1;
$b = $a;
$a = 2;
echo $b;

$a1 = 1;
$b1 = &$a1;
$a1 = 2;
echo $b1;

<?php 
//定义常量可以用 define() 函数或 const 关键字 区别在于 define() 可以在运行时定义常量,而 const 必须在编译时定义常量
define('foo', 'bar');
echo foo;
const baz = 'qux';
echo baz;

if(true){
    define('foo', 'new_bar'); // 这将不会改变 foo 的值,因为常量不能被重新定义
    echo foo; // 输出 'bar'
    const baz = 'new_qux'; // 这将会报错,因为 const 不能在运行时重新定义
    echo baz; // 这将不会执行
}
<?php 
echo __LINE__;
echo __FILE__;
echo __DIR__;

$a = 'm';
$$a = 2;
echo $m;

强制声明变量类型

<?php 
function sum(int $a, int $b) {
    return $a + $b;
}

echo sum(2,3.1);

类型转换

$m = array("a"=> "apple", "b" => "banana", "c" => "cherry");
$n = (object)$m;
echo $n->a; // Outputs: apple

var_dump((int)'abc');

配置虚拟主机

laravel安装及学习

composer global require laravel/installer
export PATH="$HOME/.composer/vendor/bin:$PATH"
laravel new example-app//创建laravel 工程项目
cd example-app
npm install && npm run build
composer run dev